可以肯定的告诉你,不会有这样的问题。
我自己写过n个与bmp位图有关的程序,从来没有发现这种问题。
有什么问题可以和我联系:[email protected]

解决方案 »

  1.   

    你是指位图的一部分能正常显示,而有部分不行。如果是这样的话,BITMAPINFOHEADER中bfOffBits这个成员你注意了没有?通过它可以找到位图的位图数据。
      

  2.   

      对不起,我没有仔细检查就断言是BITMAPINFOHEADER的错,
      得到大家的肯定回答后,我仔细检查了程序,具体问题是出在文件的读写上的,由于不能用MFC,我用的API,用fread(...)来进行读文件,
      fread(&bmfheader,sizeof(char),sizeof(BITMAPFILEHEADER),file)//正确!
      ...
      fread((LPVOID)lpbinfo,sizeof(char),sizeof(BITMAPINFOHEADER),file)//错误,只读了8bytes,实际sizeof(BITMAPINFOHEADER)=40
      ...
      fread((LPVOID)lpbits,sizeof(char),BMlen,file)//错误,同上一个fread()错!