如何将填充字节添加到位图?

时间:2009-01-07 02:54:11

标签: c++ bitmap vc6 padding

假设我有一些我要写入文件的栅格数据..现在我想把它写成bmp文件..

这个数据恰好不是DWORD对齐的,如果我理解正确,需要用足够的字节填充以到达下一个DWORD。

然而,当我尝试使用此代码填充它时:

bmFile.Write(0x0, (4-(actualWidth%4)));

我收到错误..如果我尝试调试(我正在使用MSVC ++ 6.0),下一个语句指向CFile :: Write中的ASSERT,断言第一个参数为NULL ..所以这会失败.. < / p>

我该如何填充它?我应该写出来:

bmFile.Write("0x0"(4-(actualWidth%4)));

代替?或者这会被字面上对待......?

谢谢..

1 个答案:

答案 0 :(得分:3)

也许试试:

bmFile.Write("\0\0\0\0", (4-(actualWidth%4)));

正如您所说,您的第一个示例是尝试写入空指针指向的数据。你的第二个例子是从字节'0','x','0'写入,它们的ASCII值为0x30,0x78,0x30,这可能不是你想要的。