OpenGL(7)--渲染结果截图
来源:互联网 发布:淘宝虚假交易没有清洗 编辑:程序博客网 时间:2024/06/05 07:17
渲染结果截图
OpenGL渲染的结果通常是3D图像,如果我们想把3D图像转换成2D图像保存下来呢?较为复杂的方法是利用帧缓存技术(FBO)来实现,我这里总结一种自用的较为简便的方式。仍然以WPF开发为例介绍,如下的代码实现了点击一个Button,就把渲染结果存为一副24bit的bmp图像。
private void save_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { OpenGL gl = openGLControl.OpenGL; int width = 680; int height = 665; byte[] pixels = new byte[(int)(3 * width * height)]; gl.ReadPixels(0, 0, width, height, OpenGL.GL_RGB, OpenGL.GL_UNSIGNED_BYTE, pixels); System.Drawing.Rectangle retc = new System.Drawing.Rectangle(); retc.Width = width; retc.Height = height; Bitmap bmp = new Bitmap(width, height); System.Drawing.Imaging.BitmapData data = bmp.LockBits(retc, System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format24bppRgb); gl.ReadPixels(0, 0, width, height, OpenGL.GL_BGR, OpenGL.GL_UNSIGNED_BYTE, data.Scan0); bmp.UnlockBits(data); bmp.RotateFlip(RotateFlipType.RotateNoneFlipY); bmp.Save(@"Snapshot\head.bmp"); }
0 0
- OpenGL(7)--渲染结果截图
- 视频实时OpenGL渲染并保存渲染结果合成MP4
- OpenGL: OpenGL渲染流程
- iphone opengl es 截图
- IOS 截图(opengl)
- 【OpenGL】OpenGL渲染流程详解
- 表情动画渲染结果
- opengl渲染流程
- Opengl es渲染流程
- OpenGL 的渲染流水线
- 用OpenGL渲染BUTTON
- OpenGL 的渲染流水线
- OpenGL 渲染篇
- opengl es 渲染方式
- OpenGL 的渲染流水线
- OpenGL渲染管线
- opengl渲染管线理论
- 使用OpenGL渲染线程
- 心情随笔
- Android学习之PopupWindow
- 页面之间的回调
- 正则表达式
- XCode常用快捷键的使用
- OpenGL(7)--渲染结果截图
- Sublime Text 2/3 配置文件详解
- IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行
- 在Ubuntu 12.04安装和设置SSH服务 2013-06-11 16:20:10
- Android 传感器 II-运动传感器
- (转)Unity3D占用内存太大的解决方法
- 大数据系列第五课:scala高阶
- 人生第一次写的代码
- IDEA里面添加lombok插件,编写简略风格Java代码