【发布时间】:2015-08-10 02:20:25
【问题描述】:
我在 IntBuffer 中有一个 OpenGL 缓冲区,其中包含渲染图像的所有像素。
IntBuffer ib = IntBuffer.allocate(mWidth * mHeight);
mGL.glReadPixels(0, 0, mWidth, mHeight, GL_RGBA, GL_UNSIGNED_BYTE, ib);
我有超过 5000x5000 大小的图像,当我尝试分配其缓冲区(并使用以下代码将其保存为位图)时,它会引发 OutOfMemory 错误。我试过大H
mBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
mBitmap.copyPixelsFromBuffer(IntBuffer.wrap(iat));
我想分块进行这个过程。经过大量研究,我发现 PNGj 库可以满足我的需求。
但我无法找到将 IntBuffer 转换为 Image 数据并将其存储在 PNGj 文件中的任何帮助。
任何帮助将不胜感激!
【问题讨论】: