我有一个行数为 479 列数为 638 的彩色图像。我正在尝试将此图像保存为 BMP 文件。为此,我首先使用CreateDIBSection
然后使用CreateDIBitmap
. 对于CreateDIBSection
我需要将 传递BITMAPINFOHEADER
给函数。这里它有两个参数biWidth
和biSizeImage
。由于函数返回的内存应该是 DWORD 对齐的,并且638
不是4
我应该传递 638 或 640 作为宽度的倍数吗?假设我传递 638 作为宽度,函数返回的内存是 638 x 479 还是 640 x 479 ?我的观察是它是 640 x 479。在这种情况下,当我将文件另存为 BMP 时,每行的末尾会出现一条 2 像素宽的黑线。我该如何避免这种情况?我过去了biCompression
,BI_RGB
好像这很重要。
问问题
319 次