已经读出一个24位色位图文件的位图内容(去掉BMP文件所有头信息后)
如何加入到CImageList中char* lbData={位图数据}
CBitmap bm;
bm.CreateBitmap(48,48,1,24,lpData);
m_imgList.Add(&bm),RGB(0, 0, 0));//m_imgList是一个CImageList结果是显示出一个黑色框如果换成
bm.CreateBitmap(48,48,1,32,lpData);
显示出来的图片象素都错位了
谢谢

解决方案 »

  1.   

    m_imgList创建的是24位的,当然不能使用32位的位图了吧。
      

  2.   

    如果需要使用32位图请:
    //Like this line:
    m_imgList.Create( 48,48, ILC_COLOR32);
      

  3.   

    还是一样.里面的象素点都画错位了我的具体要求是这样的:
    我在一个文件里储存了一些文字和一张24色位图的文件
    等同于命令行的 copy some.txt + pic.bmp newPicFile.bmp我要把位图放到一个CImageList里,请问如何实现.感激不尽
      

  4.   

    每三个3节转为4个字节,其中ARGB中的A为0.
      

  5.   

    DIB图像的扫描是自下而上的。即第一行图像数据是实际图像的最下一行,以此类推,最后一行图像数据是实际图像的第一行。所以处理图像数据要注意这一点。