BMP字节对齐
最近做的プロトタイプ涉及到黑白,灰色,彩色BMP转PDF的问题。
其中,BMP读取显示时要4位字节对齐原因和算法总结如下
原因
1、 内存分配单位是32位的,即4字节
2、 位图中每行象素的数据是连续的,而下一行不能和上一行共一个分配单元(4字节),所以每行象素的数据长度必须是4字节的倍数
算法
具体代码如下。返回值为一个扫描行所占的实际字节数。
int GetImageWidthByte(
const BITMAPINFOHEADER* bmpInfoHeader)
{
int widthByte; //一个扫描行所占的字节数
int nwidthByte //一个扫描行所占的实际字节数(4位字节后)
switch (bmpInfoHeader->biBitCount)