2013-08-18 50 views
1

我有一個很大的PNG,我想解壓縮到一個文件,但我沒有設備的內存容量來擴展內存中的PNG,然後到一個文件。ios-將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

我的Java庫PNGJ在Java中做到了這一點。 https://code.google.com/p/pngj/ – leonbloy

+0

感謝您知道c/C++/objective-c的等效庫嗎? – fionbio

+0

不,但是使用libpng你應該可以做同樣的事情。 – leonbloy

回答

0

由於和想法如何開始:

鉭看看Java如何做png解壓縮算法。 Java應該有開源的文件。也許有iOS也太idk。只要得到解壓縮算法的想法。它應該是大約1k-5k行代碼。

當你知道如何做到這一點,在iOS的比實現,但讀取文件的塊,比導出到一個文件,讀取另一個塊和過程,並導出。我知道說起來很容易,至少在理論上它是起作用的。也許在某個網站是公開的。 Libpng可以是一個很好的起點。

Png是一個像zip一樣的寬鬆壓縮。在那裏我記得運行時是建立一個數據表。這些表取決於有多大,可能需要交換到磁盤,這將使解壓過程更長。

祝你好運!