解决方案 »

  1.   

    建一个新 DIB 24色
    把灰度图每个像素的颜色,
    按照灰度等级转换成对应的RGB颜色(最好建一个表)
     
      

  2.   


    非常感谢你的回答!!再求教一下,由于我是在MFC中做灰度图像的伪彩色处理,新建一个新的DIB,写入文件信息头,变换得到RGB三分量,我初步实现了做法,但是在显示的时候用的StretchDIBits函数来显示,但是这样就把原先的图像覆盖掉了,我想求教有什么新的方法可以开另一个子窗口,在保留原先的图像的基础上来显示变换后的图像,其中,我有DibImage的头文件,包含下列函数,但未申明数据成员。
    BOOL    PaintDIB (HDC, LPRECT, HDIB, LPRECT, CPalette* pPal);
    BOOL    CreateDIBPalette(HDIB hDIB, CPalette* cPal);
    LPSTR   FindDIBBits (LPSTR lpbi);
    DWORD   DIBWidth (LPSTR lpDIB);
    DWORD   DIBHeight (LPSTR lpDIB);
    WORD    PaletteSize (LPSTR lpbi);
    WORD    DIBNumColors (LPSTR lpbi);
    HGLOBAL CopyHandle (HGLOBAL h);
    BOOL    SaveDIB (HDIB hDib, CFile& file);
    HDIB    ReadDIBFile(CFile& file);
    BOOL ReplaceColorPal(LPSTR lpDIB, BYTE * bpColorsTable求教!!!
      

  3.   

    MFC 对话框程序,可以创建一个新的非模式对话框显示。
    也可以用两个图片控件,显示。文档视图程序,可以用分割窗口,双视图显示。
    也可以创建两个视图,一个显示灰度图,一个显示伪彩色图,这个有点麻烦。
      

  4.   

    文档视图程序,FormView 内部可以用分割窗口,双视图显示,也可以用两个图片控件,显示。