2012-04-02 58 views
7

我從IPA文件中提取了一些PNG圖像,我想獲得原始PNG回來,我被告知pngcush做任務所需,所以我下載了它,並試圖運行以下命令:在windows上用pngcrush恢復XCode壓縮?

pngcrush -fix icon.png icon1.png 

但我得到一個libpng錯誤。我不知道的libpng需要下載爲好,因爲錯誤不說,我需要一個不同版本的libpng,只是說:

While reading icon.png: 
    pngcrush caught libpng error: 
    incorrect header check 

我也試過這一個:

pngcrush -revert-iphone-optimizations icon.png icn1.png 

而pngcrush的行爲好像不知道命令。

關於該怎麼做的任何想法?

+0

可能請您提供一個鏈接到「iphone優化「的PNG,以便我們可以測試? – 2012-04-10 06:46:03

+0

在Mac上,如果你不想處理終端,你可以使用iPhonePNGApp。你只需提供你的圖像的目錄,它將所有的PNG圖像轉換爲正常格式。很簡單。 – Egis 2015-03-02 13:53:12

回答

0

它可能不知道命令。我在-revert-iphone-optimizations上找到的文檔來自apple developer page,它指的是pngcrush是IOS SDK的一部分。鑑於此,我建議它已被黑客入侵到蘋果的特定版本,可能不是官方pngcrush下載的一部分。如果這是真的,你將需要安裝它,並使用文中所述的包含pngcrush。

我對這個例子中使用的語法也有點蠻橫。它看起來像一個很長的選項,他們通常開始兩個hyhns,而不是一個。它可能只是一個錯字,所以請嘗試--revert-iphone-optimizations

+0

對不起@SpliFF,它不適用於windows版本的pngcrush,感謝您的幫助! – 2012-04-12 04:53:12

+0

是的,歡迎來到蘋果/微軟開發者鎖定的世界。你唯一真正的選擇似乎是找到一個mac的人。 – SpliFF 2012-04-12 07:11:11

+0

實際上我有兩個Mac電腦,但我想把它作爲一個Windows應用程序來工作。由於iTunes有它,我認爲它可能會發生,然後iTunes屬於蘋果,所以他們可能會作弊。;) – 2012-04-12 16:19:46

2

此答案:pngcrush: uncrush on linux?說明-revert-iphone-optimizations僅存在於蘋果版本pngcrush中。但它確實指向了其他一些可能起作用的選項。 Linux,而不是Windows,但是由於有源代碼,你可能會使它起作用。

+0

感謝Sparky!將工作允許儘快給它一個鏡頭:) :) – 2012-04-12 15:23:22

+0

關於如何使用MingW編譯源代碼的任何想法? – 2012-04-13 04:19:27

+0

我沒有Windows機器來嘗試它,但試試這個:tar zxvf iphone-fixpng.tgz; cd iphone-fixpng;使所有 – Sparky 2012-04-13 05:57:11

2

也許你可以試試pngdefry

完美處理與多個IDAT標籤的PNG。

+0

似乎是不錯的選擇。它似乎是爲Linux構建的,但我會看看我是否可以在Windows上使用gcc。謝謝 – 2012-08-21 13:43:41

3

您可能感興趣的this C# library我開發的目的是爲了逆轉pngcrush的功能。我發現的所有現有的實現都有bug或者很難整合到我的項目中,所以我開發了這個。它有單元測試,如果這讓你感覺更安全。

是由蘋果加入-iphone除了pngcrush,僅在iOS的SDK版本的pngcrush可得,可通過使用xcrun喜歡如下:

xcrun -sdk iphoneos pngcrush -iphone|-revert-iphone-optimizations ...