BMP 的像素存储的大小如何计算呢,要按照的想的,很简单,反正 DIP 头里已经有图像的宽和高了,而且还有了图像颜色的深度,也就是每个像素占的空间的大小,这样计算呗:
DATASIZE = WIDTH * HEIGHT * PIXEL
但是实际上不然, BMP 为了加速读取, 让每一行通过填充,对齐到 DWORD (4字节)的倍数, 这样一行的所占空间大小如下计算:
ROWSIZE = (WIDTH * PIXELBIT + 31) / 32 * 4
上面的意思是先算出一行像素的所占的位数, 然后填充 31 位,然后除以 32, 这样就得到了补充对奇后的一行的双字数,然后乘以 4 就是一行的字节数。
DATASIZE = ROWSIZE * HEIGHT
计算出所有行的数据。
明天: 每天一点点音视频_bmp_像素数据1