Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GraphicsMagick CgBI unknown critical chunk

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.

like image 951
bknopper Avatar asked Dec 18 '13 10:12

bknopper


2 Answers

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.

like image 170
Glenn Randers-Pehrson Avatar answered Sep 24 '22 07:09

Glenn Randers-Pehrson


set in xcode build setting this flag to NO

Remove Text Metadata From PNG Files = NO

like image 40
Muhammad Shauket Avatar answered Sep 20 '22 07:09

Muhammad Shauket