小编sse*_*ell的帖子

BMP Creation - 输出上的C++ ofstream腐败

我目前正在为OpenGL框架编写BMP截图函数,并且遇到了将数据写出来的奇怪问题.从glReadPixelsBMP头引入的数据都是正确的,但似乎ofstream.write操作是随机插入无效值.

从图像的正确BMP(由Paint创建)和我的函数生成的BMP中摘录,突出显示不正确的字节.正确的行将始终是第一行.


行0x08C

3B 0D 4A 3A 0A 48 38 08 45 36
3B 0D 4A 3A 0D 0A 48 38 08 45
            ^^
Run Code Online (Sandbox Code Playgroud)

行0x0DC(此时已经关闭一个)

3E 2F 07 3D 2E 0A 3F 31 0E 44
07 3E 2F 07 3D 2E 0D 0A 3F 31
                  ^^
Run Code Online (Sandbox Code Playgroud)

行0x0E68(非常下一行,然后关闭两行)

35 13 48 3A 10 44 36 0A 3F 31
0E 44 35 13 48 3A 10 44 36 0D
                           ^^
Run Code Online (Sandbox Code Playgroud)

所以似乎有一种模式,其中无效值始终是,0x0D并且它被插入到a的前面0x0A.我不知道为什么会发生这种情况,因为我已经确认标题和数据glReadPixels …

c++ opengl file-io bmp

2
推荐指数
1
解决办法
665
查看次数

标签 统计

bmp ×1

c++ ×1

file-io ×1

opengl ×1