保存OpenGL窗口每一帧代码段(freeimage库)

char screenshotOrder[10];
sprintf_s(screenshotOrder, "%05d", screenshotNum);
string screenshotName = screenshotOrder;
screenshotName = "renderOutputs/anim" + screenshotName + ".png";//文件名
//设置长宽,需要修改其位置数值
unsigned char *mpixels = new unsigned char[900 * 900 * 4];
glReadBuffer(GL_FRONT);
glReadPixels(0, 0, 900, 900, GL_RGBA, GL_UNSIGNED_BYTE, mpixels);
glReadBuffer(GL_BACK);
for (int i = 0; i < (int)900 * 900 * 4; i += 4){mpixels[i] ^= mpixels[i + 2] ^= mpixels[i] ^= mpixels[i + 2];
}
FIBITMAP* bitmap = FreeImage_Allocate(900, 900, 32, 8, 8, 8);
for (int y = 0; y < FreeImage_GetHeight(bitmap); y++)
{BYTE *bits = FreeImage_GetScanLine(bitmap, y);for (int x = 0; x < FreeImage_GetWidth(bitmap); x++){bits[0] = mpixels[(y * 900 + x) * 4 + 0];//900为长bits[1] = mpixels[(y * 900 + x) * 4 + 1];bits[2] = mpixels[(y * 900 + x) * 4 + 2];bits[3] = 255;bits += 4;}
}
bool bSuccess = FreeImage_Save(FIF_PNG, bitmap, screenshotName.c_str(), PNG_Z_NO_COMPRESSION);
if (bSuccess == false)cout << "图片存储失败" << endl;
FreeImage_Unload(bitmap);
delete[] mpixels;
screenshotNum++;//设置一个全局变量第几帧

保存OpenGL窗口每一帧代码段(freeimage库)相关推荐

  1. SQL Server Management Studio中SQL代码段

    Snippets are a great productivity feature to speed up typing of repetitive T-SQL. Snippets were intr ...

  2. 使用 Navicat 代码段

    Navicat Premium 的非 Essentials 版本引入了代码段功能,针对首选的数据库类型编写查询就变得前所未有的简单.代码段功能允许你在 SQL 编辑器中工作时将可重用代码插入到 SQL ...

  3. 实例说明代码段(.text)、数据段(.data)、bss段、只读数据段(.rodata)、堆栈的划分依据

    目录 程序实例介绍各个段内容.分析段(segment)分布 分析代码段(.text).数据段(.data).bss段.只读数据段(.rodata)划分依据 程序实例介绍各个段内容.分析段(segmen ...

  4. sql过滤代码段_如何创建和管理T-SQL代码段

    sql过滤代码段 介绍 (Introduction) Transact-SQL (T-SQL) snippets were first introduced in SQL Server 2012 Ma ...

  5. 宋宝华:为什么numactl内存绑定对代码段不起作用

    本文目录 阅读本文大约需要10分钟 numactl内存绑定中代码段的问题 代码段为什么没有进入指定的numa节点 内核内存管理一个改进方向建议 numactl内存绑定中代码段的问题 在一个典型的NUM ...

  6. 收藏!PyTorch常用代码段合集

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Jack Stark,来源:极市平台 来源丨https://zhu ...

  7. PyTorch常用代码段合集

    ↑ 点击蓝字 关注视学算法 作者丨Jack Stark@知乎 来源丨https://zhuanlan.zhihu.com/p/104019160 极市导读 本文是PyTorch常用代码段合集,涵盖基本 ...

  8. PyTorch 常用代码段示例整理

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代 ...

  9. 【深度学习】PyTorch常用代码段合集

    来源 | 极市平台,机器学习算法与自然语言处理 本文是PyTorch常用代码段合集,涵盖基本配置.张量处理.模型定义与操作.数据处理.模型训练与测试等5个方面,还给出了多个值得注意的Tips,内容非常 ...

最新文章

  1. Microsoft .NET Framework 4.6.1
  2. 实操指南:用谷歌AutoML构建图像分类模型
  3. 深度学习(八)RBM受限波尔兹曼机学习-未完待续
  4. TCP/IP / 如何保证数据包传输的有序可靠?
  5. wxWidgets:wxRibbonToolBar类用法
  6. 翻译(六)——T-SQL的进阶之路:超过基础的2级水平:写子查询
  7. 浅析haartraining方法进行人脸检测
  8. ios 中NSString的一些调用
  9. 微信小程序——尤克里里和弦查询
  10. (完整版)环境工程学复习资料资料
  11. python医学科研中能做什么-科研画图都用什么软件?
  12. 一图弄懂Arthas——Java故障定位神器
  13. 中国电信物联网建设全面提速 投入三亿元补贴物联网模块
  14. 幕后产品_版本控制:幕后
  15. 測試電容器好壞与常用单位换算
  16. 自定义NavigationBar的思路
  17. 数加加众包实习生招募进行中
  18. ZSL (zero shutter lag)
  19. [学习笔记]Python for Data Analysis, 3E-8.数据整理:连接、合并和重塑
  20. ubuntu16.04下解决wps无法使用五笔输入中文的问题

热门文章

  1. 嵌入式系统概述2-嵌入式系统组成和应用
  2. 好工具推荐系列:Windows系统查看各个进程/网速/CPU的软件(查看系统资源工具)
  3. RISC-V 架构指令集手册 第一册 无特权指令集 中文翻译
  4. 广东中学计算机课可教什么,广东中学教师资格证需要考哪几门课程
  5. 《计算机导论》课后习题答案
  6. 英语八年级上册计算机的事实,人教版英语|八年级上册各单元必考知识点汇总,收藏!...
  7. 程序设计与算法三~C++面向对象程序设计~北大郭炜MOOC学习笔记~第三章:类和对象进阶(新标准C++程序设计)
  8. 让IE9及以上兼容es6,Promise, 及es7的async await
  9. 微软正式发布Chromium Edge开发预览版
  10. 中职计算机应用专业课堂教学,谈谈中职计算机应用基础课程教学中翻转课堂研究...