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

标签 c++ bitmap visual-c++-6 padding

假设我有一些栅格数据要写入文件..现在我想将其写为 bmp 文件..

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

但是,当我尝试用这段代码填充它时:

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

我得到一个错误..如果我尝试调试(我使用的是 MSVC++ 6.0),下一条语句指向 CFile::Write 中的一个 ASSERT,它断言第一个参数为 NULL..所以这失败了..

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

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

相反?还是会按字面意思对待...?

谢谢..

最佳答案

也许试试:

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

正如您所说,您的第一个示例是尝试写入空指针指向的数据。您的第二个示例将从具有 ASCII 值 0x30、0x78、0x30 的字节“0”、“x”、“0”写入,这可能不是您想要的。

关于c++ - 如何将填充字节添加到位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419045/

相关文章:

WPF 路径与图像 png jpg

android 将位图正确保存为 jpeg 但不显示在图片库中

command-line - 为 VC 6 构建命令行?

c++ - 在 vc6 中使用 bison 和 flex

c++ - 指向非静态成员函数 "formally"的指针不被视为指针

c++ - enable_if 和互斥方法

html - CSS/HTML 是如何在浏览器中呈现的?

c++ - C++ 对象如何将迭代器作为其在 std::list 中位置的成员?

c++ - OpenGL FBO - 白色像素显得透明

c++ - C++中的链表代码