我有一个大的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);
答案 0 :(得分:0)
as和想法如何开始:
看看Java是如何做png解压缩算法的。 Java应该开源这些文件。也许iOS太懒了。只需获得解压缩算法的想法。它应该是大约1k-5k行代码。
当您知道如何操作时,要比在iOS上实现但是读取一大块文件而不是导出到文件,读取另一个块并处理并导出它。我知道这很容易说,至少在理论上它是有效的。也许在某些网站公开。 Libpng可以是一个很好的起点。
Png是像拉链一样的松弛压缩。因为我记得运行时构建了一个数据表。这些表取决于有多大,可能需要交换到磁盘,这将使解压缩过程更长。 祝你好运!