如题.

解决方案 »

  1.   

    用CFile::Read读入,你需要知道bmp的文件格式,并作相应的解析如果只是为了从文件载入bmp,可以使用LoadImage
      

  2.   

    当然学学图形格式的解析,bmp是个好的例子,因为它简单,而且分析的源码很多,csdn的文档中就有相关的格式介绍,找找把
      

  3.   

    先读文件头,结构如下:
    typedef struct tagBITMAPFILEHEADER { 
      WORD    bfType; 
      DWORD   bfSize; 
      WORD    bfReserved1; 
      WORD    bfReserved2; 
      DWORD   bfOffBits; 
    } BITMAPFILEHEADER, *PBITMAPFILEHEADER; 
    bfOffBits是从文件头到实际bitmap数据的偏移量,根据他你可以得到数据区的位置。
    然后,紧接着文件头是BITMAPINFO 结构,从这里可以得到BITMAPINFOHEADER等信息。根据BITMAPINFOHEADER及数据区的位图数据(如果有调色板(8位以下的位图有调色板)还有调色板信息),你就可以显示了
      

  4.   

    各位老大能再详细些吗?或给点关键代码?万分感谢.
      我用CMemFile已经在内存中有图像的数据了,现在要直接显示出来。好像显示图像必须要有 句柄之类的东西,这如何得到呀?
      

  5.   

    可以用这个函数StretchDIBits,用法msdn上很详细。
      

  6.   

    superinsect(superinsect)可以用这个函数StretchDIBits,用法msdn上很详细。
    -----------------------------------------------------------------------
    请问一下
    用这个StretchDIBits可以显示24位或32位位图吗?
      

  7.   

    关注中,如果只是显示bitmap,应该用loadimage就可以了,但是需要处理图像信息,比如格式转换等等,就需要其他的方法,应该先知道要干什么??
      

  8.   

    当然可以,  
      CONST VOID *lpBits,           // 位图数据
      CONST BITMAPINFO *lpBitsInfo, // 位图信息关键这两个参数要传对,应该没问题,如果显示不正确,一般也是这两个参数传的有问题
      

  9.   

    就是要处理图像信息,而且还要在内存中进行,所以我才用CMemFile类的,现在其他工作都完成了,就差显示了.