计算biSizeImage的两种方法

2009-03-12 10:31

计算biSizeImage的两种方法:

1.最简单的方法是由BITMAPFILEHEADER结构的bfSize减去bfOffBits。

2.由图像的高度和宽度来计算图像数据的字节数。要注意的是并不是图像的高度乘以图像宽度乘以表示每象

素的字节数就行了,因为在BMP的文件格式中规定每行的字节数必须是4的整数倍,不是4的整数倍的要补

零。因此,正确的算法是:

biSizeImage=(biWidth*biBitCount+31)/32*4*biHeight

其中,biWidth*biBitCount是每一行图像占用的位数,除以8是每行图像占用的字节数,要为4的整数倍,所

以除以32再乘以4,整数除法自动取整。(不能直接除以8,想想为什么?加31有什么作用?)

不足的位数补充上如241存储为244.(..........如果可以位数舍去,241为240,这是不可能的,那不用加31)

posted on 2011-01-07 00:02  xilentz  阅读(4287)  评论(2编辑  收藏  举报