2012-04-02 19 views
7

Mam PNG wydobyte z plików IPA i chcę uzyskać oryginalną PNG z powrotem, ja zostałem powiadomiony, że pngcush zrobił wymagane zadanie więc ściągnąłem go i próbowali uruchamiając następującą komendę:Przywrócić kompresję XCode za pomocą pngcrush w oknach?

pngcrush -fix icon.png icon1.png 

ale uzyskać błąd libpng. Nie wiem, czy libpng musi być pobrane, a także, ponieważ błąd nie mówi, że muszę mieć inną wersję libpng, tylko mówi:

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

Próbowałem również ten jeden:

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

A pngcrush działa tak, jakby nie znał polecenia.

Wszelkie pomysły dotyczące tego, co należy zrobić?

+0

Może Pan podać link do „iPhone zoptymalizowany "PNG, abyśmy mogli przetestować? –

+0

Na Macu, jeśli nie chcesz zajmować się Terminalem, możesz użyć iPhonePNGApp. Po prostu podajesz katalog swoich obrazów i konwertuje wszystkie obrazy PNG do normalnego formatu. Bardzo prosta. – Egis

Odpowiedz

0

Prawdopodobnie nie zna polecenia. Dokumentacja znaleziona na -revert-iphone-optimizations pochodzi z apple developer page, która odnosi się do pngcrush będącego częścią zestawu IOS SDK. Biorąc to pod uwagę, sugeruję, że został on zhackowany do tej konkretnej wersji przez Apple i nie może być częścią oficjalnego pobrania pngcrush. Jeśli to prawda, będziesz musiał to zainstalować i użyć dołączonego pngcrush, jak wyjaśniono w artykule.

Jestem też trochę nie na temat składni użytej w tym przykładzie. Wygląda to na długą opcję i zwykle zaczynają się od dwóch hyteny, a nie jednego. Może to być po prostu literówka, więc spróbuj także --revert-iphone-optimizations.

+0

Przepraszam @SpliFF, nie działa z windowsową wersją pngcrush, dziękuję za pomoc! –

+0

tak, witamy w świecie blokady oprogramowania Apple/Microsoft. jedyną realną opcją wydaje się być znalezienie kogoś z macem. – SpliFF

+0

Tak naprawdę mam dwa Mac'y, ale chcę to zrobić jako aplikację Windows. Ponieważ iTunes go miał, myślałem, że może się zdarzyć, to znowu iTunes należy do Apple, więc mogą oszukiwać ..;) –

2

Ta odpowiedź: pngcrush: uncrush on linux? wyjaśnia, że ​​-revert-iphone-optimizations jest obecny tylko w wersji Apple pngcrush. Ale wskazuje na kilka innych opcji, które mogą działać. Linux, nie Windows, ale skoro jest źródło, możesz go uruchomić.

+0

dzięki Sparky! zrobi to, jak tylko praca pozwoli ... :) –

+0

Jakieś pomysły na kompilację źródeł z MingW? –

+0

Nie mam komputera z systemem Windows, aby go wypróbować, ale spróbuj tego: tar zxvf iphone-fixpng.tgz; cd iphone-fixpng; make all – Sparky

2

Może możesz spróbować pngdefry.

Doskonały system pngs z wieloma identyfikatorami IDAT.

+0

Wydaje się, że to dobry wybór. Wygląda na to, że jest zbudowany na Linuksa, ale zobaczę, czy uda mi się przejść na mój system Windows. Dzięki –

3

Możesz być zainteresowany this C# library Opracowałem, aby odwrócić to, co robi pngcrush. Wszystkie znalezione implementacje były albo pełne błędów, albo zbyt trudne do zintegrowania z moim projektem, więc opracowałem to. Ma testy jednostkowe, jeśli to sprawia, że ​​czujesz się bezpieczniej.

-iphone dodatek do pngcrush dodano przez Apple i jest dostępny tylko w wersji pngcrush w iOS SDK, dostępny za pomocą xcrun jak następuje:

xcrun -sdk iphoneos pngcrush -iphone|-revert-iphone-optimizations ... 
Powiązane problemy