GraphicsMagick CgBI unknown critical chunk

4.2k views Asked by At

I am using GraphicsMagick and currently running into the following issue:

when executing

gm identify <filename>.png

I'm getting the following error:

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

This is a png extracted from an iPhone. Though it may not contain an actual image, I do need the image info.

Tried opening it with several editors:

  1. The png does open in Paint with the right height x width but as completely white.
  2. The png does not open in GIMP, saying it might be corrupted
  3. The png does open in Paint.net with the right height x width as a transparent image

Using the debug parameter provides the following line:

libpng-1.5.14 error: CgBI: unknown critical chunk

I'm running the latest GraphicsMagick (1.3.18).

Does anyone know what's going on, and how I will be able to get this to return the image info?

Thanks in advance.

2

There are 2 answers

4
Glenn Randers-Pehrson On BEST ANSWER

The PNG you are trying to read has been run through Apple's "Xcode" version of pngcrush, which creates files that aren't PNGs. I believe Apple's pngcrush also has the capability of undoing the damage and more-or-less restoring the original PNG, using the "-revert-iphone-optimizations" option, although it's not mathematically possible to restore the color channels exactly for transparent or semitransparent pixels.

0
Muhammad Shauket On

set in xcode build setting this flag to NO

Remove Text Metadata From PNG Files = NO