2

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

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

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

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

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

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

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

4

1 回答 1

0

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

于 2013-11-20T03:03:20.890 回答