【问题标题】:GraphicsMagick CgBI unknown critical chunkGraphicsMagick CgBI 未知关键块
【发布时间】:2014-01-06 10:54:38
【问题描述】:

我正在使用 GraphicsMagick,目前遇到以下问题:

执行时

gm identify <filename>.png

我收到以下错误:

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

这是从 iPhone 中提取的 png。虽然它可能不包含实际图像,但我确实需要图像信息。

尝试用几个编辑器打开它:

  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)。

有谁知道发生了什么,以及我将如何获得它以返回图像信息?

提前致谢。

【问题讨论】:

    标签: png libpng graphicsmagick pngcrush


    【解决方案1】:

    您尝试读取的 PNG 已通过 Apple 的“Xcode”版本的 pngcrush 运行,该版本会创建非 PNG 文件。我相信 Apple 的 pngcrush 还具有使用“-revert-iphone-optimizations”选项撤消损坏和或多或少恢复原始 PNG 的能力,尽管在数学上不可能完全恢复透明或半透明的颜色通道像素。

    【讨论】:

    • 这确实可能是问题所在。你知道我应该如何通过 pngcrush 恢复原始 PNG(或至少撤消损坏)吗?
    • 请参阅iPhone Dev Wiki article,了解如何解码此类 PNG 文件。
    • 你必须使用苹果的 pngcrush,而不是真正的 pngcrush。我不知道确切的选项,但它类似于“-revert-iphone”。请参阅上面 rdvdijk 的答案中引用的 Wiki。
    • 完整的故事以及补救措施也可以在我的网站上找到:jongware.com/pngdefry.html
    【解决方案2】:

    在 xcode 构建中设置此标志为 NO

    从 PNG 文件中删除文本元数据 = 否

    【讨论】:

      猜你喜欢
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多