0

我正在创建一个绘图应用程序,我需要将最终结果保存为 png 图像。但是我需要能够通过进一步的绘图来编辑图像。

帧缓冲区对象是去这里的方式吗?渲染成屏幕外纹理?

4

1 回答 1

0

这取决于您以后要如何编辑图像。您的问题有两个部分: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 作为新帧缓冲区的纹理加载再次。当您绘制到这个新的帧缓冲区时,您将在纹理(这是您之前的图像)之上进行绘制。

于 2013-01-05T18:42:18.987 回答