我是通过屏幕截图取得的图片
使用StretchBlt函数存入了Picture1.hDC
我想判断Picture1.hDC是否有某种颜色,比如#FFFFFF
如何判断呢? 
谢谢

解决方案 »

  1.   

    一个点一个点取出来看看是否是你要的颜色。用API:GetPixel
      

  2.   

    一种方法就是楼上说的,用GETPIXEL来一个一个点获得像素,再比较,或者直接使用PIXTURE空间的POINT方法来获取像素,两者的方法和速度都差不多,都比较慢.处理一个1024X768的图片要数秒到数十秒不等
    还有就是使用DIB方法来一次性获得整个图片的像素,速度很快,处理同样尺寸的图片可以在1秒以内完成.但是程序比较复杂,可以参考这个文档,有详细说明: http://www.tttcn.cn/blog/1914/archives/2006/11102.html
      

  3.   

    恩,确实有这样的问题,处理起来慢的很呢,需要优化算法。。如果没有优化算法的情况下,可以这样做,以前我写了一个SAMSUNG DIY VB DEMO,里面使用了这样的方法:我知道该图片的存储格式(颜色转化部分),然后用文件处理的方法,而不是用图片处理,因为图片处理要取象素,反复调用那些API(当然是笨蛋方法了,X,Y两方向循环嵌套)就非常慢;而把图片读到一个二进制数组里面就比较快,逐字节比较并合成等等操作加一起都快不过我是比较烂啦,当年还菜的很。(虽然现在也很菜)
      

  4.   

    保存成BMP文件,再在文件中查找看看
      

  5.   

    保存为BMP,或是BMP数组(二进制)读取BMP文件头,逐字节分析,这样比GetPixel快很多.