[OpenGL调试]保存并查看内存中的数据图像

前言

在编写OpenGL程序时,经常会遇到需要将从GPU的FBO数据拷贝到CPU端的内存中。此时,需要保存图像数据,才能确认内存中的数据是否正确。

保存图像数据

代码写在如下:

        std::ofstream out("D:/image.raw" , std::ios::out | std::ios::binary);
        out.write((char*)(pOut) , m_iWidth*m_iHeight*4);
        out.close();

其中,m_iWidth*m_iHeight*4 表示字节数。4 表示的是RGBA格式,如果是RGB 格式,则是3。

查看图像数据

但是,这样保存出来的图,是不能直接使用Window的照片查看器打开。此时,我推荐大家下载一款开源的看图软件:ImageJ —ImageJ
操作方法:打开ImageJ软件,菜单栏中File->Import->Raw, 然后选中需要查看的文件,
此时,会弹出设置图像信息的参数: ImageType, Width,Height, 其它的基本使用默认参数
就可以了。

此时,就显示出保存下来的图片。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值