我从IPA文件中提取了一些png图像,我想要恢复原始PNG,我被告知pngcush完成了所需的任务,所以我下载了它并尝试运行以下命令:
pngcrush -fix icon.png icon1.png
但是我得到了一个libpng错误。我不知道是否还需要下载libpng,因为错误并没有说我需要一个不同版本的libpng,只是说:
While reading icon.png:
pngcrush caught libpng error:
incorrect header check
我也试过这个:
pngcrush -revert-iphone-optimizations icon.png icn1.png
pngcrush表现得好像不知道命令。
关于该怎么做的任何想法?
答案 0 :(得分:3)
您可能对this C# library感兴趣我开发的用于反转pngcrush
的内容。我发现的所有现有实现都要么充满了漏洞,要么太难以集成到我的项目中,所以我开发了这个。它有单元测试,如果这让你感觉更安全。
Apple添加了-iphone
pngcrush,仅在iOS SDK的pngcrush
版本中提供,可通过xcrun
访问,如下所示:
xcrun -sdk iphoneos pngcrush -iphone|-revert-iphone-optimizations ...
答案 1 :(得分:2)
此答案:pngcrush: uncrush on linux?说明-revert-iphone-optimizations
仅出现在pngcrush
的Apple版本中。但它确实指出了其他可能有效的选择。 Linux,而不是Windows,但由于有源,你可以让它工作。
答案 2 :(得分:2)
也许您可以尝试 pngdefry 。
使用多个IDAT标签完美处理png。
答案 3 :(得分:0)
它可能不知道命令。我在-revert-iphone-optimizations
上找到的文档来自apple developer page,它指的是pngcrush是IOS SDK的一部分。鉴于此,我建议它被苹果公司侵入该特定版本,并且可能不是官方pngcrush下载的一部分。如果这是真的,你实际上需要安装它并使用包含的pngcrush,如文章中所述。
我对该示例中使用的语法也有些不满。它看起来像一个长期选项,通常以两个hythens 开头,而不是一个。这可能只是一个错字,所以也尝试--revert-iphone-optimizations
。