7

I have some png images extracted from IPA files and I want to get the original PNG back, I was advised that pngcush did the task required so I downloaded it and tried running the following command:

pngcrush -fix icon.png icon1.png

But I get a libpng error. I don't know if libpng needs to be downloaded as well, since the error doesn't says that I need a different version of libpng, just says:

While reading icon.png:
  pngcrush caught libpng error:
   incorrect header check

I also tried this one:

pngcrush -revert-iphone-optimizations icon.png icn1.png

And pngcrush acts as if didn't knew the command.

Any ideas on what to do?

4

4 回答 4

3

您可能对我开发的用于反转功能的C# 库pngcrush感兴趣。我发现的所有现有实现要么充满了错误,要么太难集成到我的项目中,所以我开发了这个。如果这让你感觉更安全,它有单元测试。

pngcrush的-iphone新增功能是 Apple 添加的,仅在pngcrushiOS SDK 版本中可用,可通过xcrun以下方式访问:

xcrun -sdk iphoneos pngcrush -iphone|-revert-iphone-optimizations ...
于 2013-06-24T10:01:48.153 回答
2

这个答案:pngcrush:在 linux 上 uncrush? 解释说,这-revert-iphone-optimizations仅存在于 Apple 版本的pngcrush. 但它确实指出了其他一些可能有效的选择。Linux,而不是 Windows,但既然有源代码,你可能会让它工作。

于 2012-04-12T12:53:54.993 回答
2

也许你可以试试pngdefry

完美处理具有多个 IDAT 标签的 png。

于 2012-08-21T02:09:31.797 回答
0

它可能不知道命令。我发现的文档-revert-iphone-optimizations来自苹果开发者页面,该页面提到 pngcrush 是 IOS SDK 的一部分。鉴于此,我建议它已被苹果入侵到该特定版本,并且可能不是官方 pngcrush 下载的一部分。如果这是真的,您实际上需要安装它并按照文章中的说明使用包含的 pngcrush。

我对那个例子中使用的语法也有点怀疑。它看起来像一个长选项,它们通常以两个连字符开头,而不是一个。这可能只是一个错字,所以--revert-iphone-optimizations也试试。

于 2012-04-11T15:40:54.200 回答