GraphicsMagick CgBI неизвестный критический блок

Я использую GraphicsMagick и в настоящее время сталкиваюсь со следующей проблемой:

при выполнении

gm identify <filename>.png

Я получаю следующую ошибку:

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

Это png, извлеченный из iPhone. Хотя оно может не содержать фактического изображения, мне нужна информация об изображении.

Попробовал открыть его несколькими редакторами:

  1. Png открывается в Paint с правильной высотой x шириной, но полностью белым.
  2. Png не открывается в GIMP, говоря, что он может быть поврежден
  3. Png открывается в Paint.net с правильной высотой x шириной как прозрачное изображение

Использование параметра отладки обеспечивает следующую строку:

libpng-1.5.14 error: CgBI: unknown critical chunk

Я использую последнюю версию GraphicsMagick (1.3.18).

Кто-нибудь знает, что происходит, и как я смогу получить это, чтобы вернуть информацию об изображении?

Заранее спасибо.

2 ответа

Решение

PNG, который вы пытаетесь прочитать, был запущен через "Xcode" версию Apple pngcrush, которая создает файлы, которые не являются PNG. Я полагаю, что у pngcrush от Apple также есть возможность отменить повреждение и более или менее восстановить оригинальный PNG, используя опцию "-revert-iphone-optimizations", хотя математически невозможно восстановить цветовые каналы точно для прозрачного или полупрозрачного пиксели.

Установите в xcode build, установив для этого флага значение NO

Удалить текстовые метаданные из файлов PNG = НЕТ

Другие вопросы по тегам