2013-12-18 23 views
6

Sto usando GraphicsMagick e attualmente in esecuzione nel seguente problema:GraphicsMagick CGBI sconosciuto pezzo critico

durante l'esecuzione

gm identify <filename>.png 

sto ottenendo il seguente errore:

gm identify: CgBI: unknown critical chunk (<filename>.png) 
gm identify: Request did not return an image. 

Questo è un png estratto da un iPhone. Anche se non può contenere un'immagine reale, ho bisogno delle informazioni sull'immagine.

cercato di aprire con diversi redattori:

  1. Il png viene aperto in vernice con la giusta larghezza x altezza ma come completamente bianca.
  2. Il PNG non non aperto in GIMP, dicendo che potrebbe essere danneggiato
  3. Il png si apre in Paint.net con la giusta larghezza x altezza come un'immagine trasparente

Utilizzando il parametro di debug fornisce la seguente riga:

libpng-1.5.14 error: CgBI: unknown critical chunk 

Sto eseguendo l'ultima GraphicsMagick (1.3.18).

Qualcuno sa cosa sta succedendo e come sarò in grado di ottenere questo per restituire le informazioni sull'immagine?

Grazie in anticipo.

risposta

6

Il PNG che si sta tentando di leggere è stato eseguito tramite la versione Apple "Xcode" di pngcrush, che crea file che non sono PNG. Credo che il pngcrush di Apple abbia anche la capacità di annullare il danno e ripristinare più o meno il PNG originale, usando l'opzione "-revert-iphone-optimizations", anche se non è matematicamente possibile ripristinare i canali di colore esattamente per trasparenti o semitrasparenti pixel.

+0

Questo infatti può essere il problema. Sai come dovrei procedere per recuperare il PNG originale con pngcrush (o almeno annullare il danno)? – bknopper

+1

Vedi questo [articolo Dev Wiki iPhone] (http://iphonedevwiki.net/index.php/CgBI_file_format#Decoding) sulla decodifica di tali file PNG. – rdvdijk

+0

Devi usare il pngcrush di Apple, non il vero pngcrush. Non conosco l'opzione esatta ma è qualcosa come "-revert-iphone". Vedi il Wiki a cui si fa riferimento nella risposta di rdvdijk qui sopra. –

3

set in Xcode accumulo attivazione di questo flag su NO

rimuovere i metadati testo da file PNG = NO