消除 bmp 数组中的两个零

Eliminating two zeros in a bmp array

本文关键字:两个 bmp 数组 消除      更新时间:2023-10-16

>我试图将BMP图片加载到内存中并将RGB数组保存到文件中(我自己的带有纹理数据的格式3d模型)。我进行了编程以将 OBJ 及其纹理数据转换为 m2d 文件。但是当我在 m2d 加载器中实际加载文件时,它在图片上显示绿色连续线条。

我在十六进制编辑器中打开了BMP文件,发现两个00是罪魁祸首(发生了很多次)。任何提示我应该如何从我的 RGB 数组中取出这些 00?任何提示或提示将不胜感激。

BMP 中的每个水平行长度必须是 4 个字节的倍数。

如果像素数据不占用 4 个字节的倍数,则会在行尾添加 0x00 个字节。对于 24 bpp 图像,每行的字节数为 (imageWidth*3 + 3) & ~3 。填充字节数为 ((imageWidth*3 + 3) & ~3) - (imageWidth*3)