【发布时间】:2013-01-06 02:42:18
【问题描述】:
我正在创建一个绘图应用程序,我需要将最终结果保存为 png 图像。但是我需要能够通过进一步的绘图来编辑图像。
帧缓冲对象是要走的路吗?渲染成离屏纹理?
【问题讨论】:
我正在创建一个绘图应用程序,我需要将最终结果保存为 png 图像。但是我需要能够通过进一步的绘图来编辑图像。
帧缓冲对象是要走的路吗?渲染成离屏纹理?
【问题讨论】:
这取决于您以后要如何编辑图像。你的问题有两个部分: 1)将图像保存为png 2) 绘制后编辑图像
1) 将帧缓冲区绘图保存为 png 很简单。 OpenGL ES 1.x (http://stackoverflow.com/questions/5062978/how-can-i-dump-opengl-renderbuffer-to-png-or-jpg-image) 有一个类似的问题,应该是一个很好的工作基础。
2) 这取决于您想要多长时间编辑图像。如果您在整个程序中连续编辑图像,则将所有内容保存在帧缓冲区中的内存中,并且仅在完成编辑后才写入 png。如果您稍后需要在图像顶部绘制(例如,当您重新打开程序时),您可以将其保存为 png,然后在您想要编辑图像时将 png 作为新帧缓冲区的纹理加载再次。当您绘制到这个新的帧缓冲区时,您将在纹理(这是您之前的图像)之上进行绘制。
【讨论】: