2012-04-02 7 views
7

Ho alcune immagini PNG estratte dai file IPA e voglio ottenere l'originale PNG schiena, mi è stato avvisato che pngcush ha fatto il compito richiesto così ho scaricato e provato a fare funzionare il seguente comando:Ripristina la compressione XCode con pngcrush su Windows?

pngcrush -fix icon.png icon1.png 

Ma io ottieni un errore libpng. Non so se libpng deve essere scaricato, così, dal momento che l'errore non dice che ho bisogno di una versione diversa di libpng, dice solo:

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

Inoltre ho provato questo:

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

E pngcrush agisce come se non conoscesse il comando.

Qualche idea su cosa fare?

+0

maggio si prega di fornire un link ad un "iPhone -ottimizzato "PNG in modo che possiamo testare? –

+0

Su Mac se non vuoi trattare con Terminal puoi usare iPhonePNGApp. Basta fornire la directory delle immagini e converte tutte le immagini PNG in formato normale. Molto semplice. – Egis

risposta

0

Probabilmente non conosce il comando. La documentazione che ho trovato su -revert-iphone-optimizations proviene da un apple developer page che si riferisce al pngcrush che fa parte dell'IOS SDK. Detto questo, suggerirei che sia stato hackerato in quella versione specifica da Apple e potrebbe non essere parte del download ufficiale di pngcrush. Se è vero, dovrai effettivamente installarlo e usare il pngcrush incluso come spiegato nell'articolo.

Sono anche un po 'sintonizzato sulla sintassi utilizzata in quell'esempio. Sembra una lunga opzione e normalmente iniziano con due hythens, non uno. Potrebbe semplicemente essere un refuso quindi prova anche a --revert-iphone-optimizations.

+0

sorry @SpliFF, non funziona con la versione windows di pngcrush, grazie per l'aiuto! –

+0

sì, benvenuto nel mondo del lock-in per sviluppatori apple/microsoft. la tua unica vera opzione sembra trovare qualcuno con un mac. – SpliFF

+0

in realtà ho due Mac, ma voglio lavorare come un'applicazione per Windows. Dal momento che iTunes ce l'ha, ho pensato che potesse succedere, quindi ancora, iTunes appartiene ad Apple, quindi potrebbero essere imbrogli ..;) –

2

Questa risposta: pngcrush: uncrush on linux? spiega che -revert-iphone-optimizations è presente solo nella versione Apple di pngcrush. Ma fa riferimento a un paio di altre opzioni che potrebbero funzionare. Linux, non Windows, ma dal momento che c'è la fonte, potresti farlo funzionare.

+0

grazie Sparky! gli darò uno scatto non appena il lavoro lo consentirà ... :) –

+0

Qualche idea su come compilare i sorgenti con MingW? –

+0

Non ho una macchina Windows per provarlo, ma prova questo: tar zxvf iphone-fixpng.tgz; cd iphone-fixpng; make all – Sparky

2

Forse puoi provare pngdefry.

Png di negoziazione perfetta con più tag IDAT.

+0

Sembra una buona scelta. Sembra che sia costruito per Linux, ma vedrò se riesco a gcc la mia strada su Windows. Grazie –

3

Potresti essere interessato a this C# library Ho sviluppato per invertire ciò che fa pngcrush. Tutte le implementazioni esistenti che ho trovato sono state piene di bug o troppo difficili da integrare nel mio progetto, quindi l'ho sviluppato. Ha dei test unitari se questo ti rende più sicuro.

La -iphone Oltre a pngcrush è stato aggiunto da Apple ed è disponibile solo nella versione di pngcrush in iOS SDK, accessibili tramite xcrun piace segue:

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