ios-将PNG直接解压缩到磁盘

时间:2013-08-18 21:45:35

标签: ios png memory-mapped-files libpng high-resolution

我有一个大的PNG,我想要解压缩到一个文件,但我没有设备上的内存容量来扩展内存中的PNG,然后扩展到文件。

是否有本机iOS方法为每条扫描线解压缩png?替代?

更新

libpng - 阅读图像数据 - http://www.libpng.org/pub/png/libpng-1.2.5-manual.html#section-3.8

对于非隔行PNG

png_read_rows(png_ptr, row_pointers, NULL, number_of_rows);

1 个答案:

答案 0 :(得分:0)

as和想法如何开始:

看看Java是如何做png解压缩算法的。 Java应该开源这些文件。也许iOS太懒了。只需获得解压缩算法的想法。它应该是大约1k-5k行代码。

当您知道如何操作时,要比在iOS上实现但是读取一大块文件而不是导出到文件,读取另一个块并处理并导出它。我知道这很容易说,至少在理论上它是有效的。也许在某些网站公开。 Libpng可以是一个很好的起点。

Png是像拉链一样的松弛压缩。因为我记得运行时构建了一个数据表。这些表取决于有多大,可能需要交换到磁盘,这将使解压缩过程更长。

祝你好运!