我如何将大bmp转换为png?

时间:2013-09-28 13:52:09

标签: java android bitmap png out-of-memory

我正在尝试将一个非常大的bmp文件转换为png。

我正在编写一个应用程序来制作分形图像,我想制作一个非常高分辨率的图像(如ultrahd)。

我将使用RandomAccessFile将位图像素图像直接保存到文件中,因此我不会将任何Bitmap对象分配到内存中。问题是将temporany位图转换为png。

我找到了BitmapRegionDecoder但它对我的问题没用。

在没有完整数据加载的情况下转换图像并不容易。 :(

我认为一个好的解决方案可能是一个方法:convertToPng(InputStream bitmapData,OutputStream pngStream)。

我的问题是,如何在没有OutOfMemoryException的情况下将非常大的位图转换为png?

1 个答案:

答案 0 :(得分:0)

您可以尝试PNGJ库(免责声明:我是作者),它允许逐行读取/写入PNG图像。