小弟用的VC++6.0,想对一个BMP图像进行红色和绿色滤色,现在的想法是通过对每个像素点进行判断,如果这个像素点是黑色的话(图中只有黑白两种颜色),那么就将其的R(或者G)通道置为255,其他通道置为零。
但是现在我的问题是如何对这个像素点的值进行判断,貌似用strcmp也不是很好使.....希望各位指点,谢谢~

解决方案 »

  1.   

    1、使用GetPixel取得这点的颜色,Color
    2、分解所取得的颜色,将其分解为Red、Green、Blue三原色。 
       Red=Color % 256  Green=(Color /256) % 256   Blue=(Color/256)/256
    3、将Red和Green设置为:04、在组合新的颜色:Color=Blue*256*256+Green*256+Red
      

  2.   

    GetPixel 和 SetPixel 的效率有点低,你先把图像数据读到内存里以数组的形式存储,再来处理可能要好点