我把richedit中的图片保存为bmp文件,在24位色下没有问题,但是16位色下颜色就全不对了,这是为什么?
BITMAPINFOHEADER的biBitCount指定了也没用。

解决方案 »

  1.   

    你存的时候有问题,把24bit色存成16big,对每一个像素都要做处理。存成24bit没问题,是因为当前内存中的格式就是24bit的.
    光指定BITMAPINFOHEADER的biBitCount没有用,还要把每个像素的24bit颜色值转成16bit的。
    有两种格式:555和565
      

  2.   

    可是我屏幕是16位色时候,我截屏的图片放在richedit中,然后存bmp,就是颜色全不对了啊,应该怎么转呢?
      

  3.   

    我在vckbase里看了一个程序,用16,24,32位的都试验了一下基本正常。只发现标题栏等颜色剃度有变化。bih.biBitCount:是16,24,32位的设置位。http://www.vckbase.com/code/findcode.asp?mclsid=&sclsid=&keyword=bmp&page=2
     《抓图程序开发实践》配套源代码 详细信息 < 位图与调色板 >  本程序是利用通用的热键管理DLL实现的热键功能,在收到热键通知后截取屏幕的内容并保存到bmp文件中。本文提供了全部源代码供大家参考。