我在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文件中。
任何帮助都将受到高度赞赏!