首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++读取位图文件的细节有关问题

2013-01-06 
c++读取位图文件的细节问题我在读取c语言位图文件类中,有这样一段代码/** 确保读取数据的大小 */if(bitmap

c++读取位图文件的细节问题
我在读取c语言位图文件类中,有这样一段代码
       /** 确保读取数据的大小 */
   if(bitmapInfoHeader.biSizeImage == 0)
   {
      bitmapInfoHeader.biSizeImage = bitmapInfoHeader.biWidth *
      bitmapInfoHeader.biHeight * 3;
   }

我不太清楚biSizeImage 是用来干什么?后面*3又是为什么?
[解决办法]
biSizeImage 图片占用的内存字节数,这个写法应该有点问题,因为win的图片内存字节数应该是4的倍数
*3是因为每个像素为红绿蓝三色,每色一个字节

 bitmapInfoHeader.biWidth *      bitmapInfoHeader.biHeight
长方向乘宽方向的像素数量,再乘3,总共需要多少存储字节
[解决办法]
应该是这样((biWidth * 3 + 31) / 32) * 4 * biHeight 

热点排行