2012-04-02 31 views
7

我从IPA文件中提取了一些PNG图像,我想获得原始PNG回来,我被告知pngcush做任务所需,所以我下载了它,并试图运行以下命令:在windows上用pngcrush恢复XCode压缩?

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

可能请您提供一个链接到“iphone优化“的PNG,以便我们可以测试? – 2012-04-10 06:46:03

+0

在Mac上,如果你不想处理终端,你可以使用iPhonePNGApp。你只需提供你的图像的目录,它将所有的PNG图像转换为正常格式。很简单。 – Egis 2015-03-02 13:53:12

回答

0

它可能不知道命令。我在-revert-iphone-optimizations上找到的文档来自apple developer page,它指的是pngcrush是IOS SDK的一部分。鉴于此,我建议它已被黑客入侵到苹果的特定版本,可能不是官方pngcrush下载的一部分。如果这是真的,你将需要安装它,并使用文中所述的包含pngcrush。

我对这个例子中使用的语法也有点蛮横。它看起来像一个很长的选项,他们通常开始两个hyhns,而不是一个。它可能只是一个错字,所以请尝试--revert-iphone-optimizations

+0

对不起@SpliFF,它不适用于windows版本的pngcrush,感谢您的帮助! – 2012-04-12 04:53:12

+0

是的,欢迎来到苹果/微软开发者锁定的世界。你唯一真正的选择似乎是找到一个mac的人。 – SpliFF 2012-04-12 07:11:11

+0

实际上我有两个Mac电脑,但我想把它作为一个Windows应用程序来工作。由于iTunes有它,我认为它可能会发生,然后iTunes属于苹果,所以他们可能会作弊。;) – 2012-04-12 16:19:46

2

此答案:pngcrush: uncrush on linux?说明-revert-iphone-optimizations仅存在于苹果版本pngcrush中。但它确实指向了其他一些可能起作用的选项。 Linux,而不是Windows,但是由于有源代码,你可能会使它起作用。

+0

感谢Sparky!将工作允许尽快给它一个镜头:) :) – 2012-04-12 15:23:22

+0

关于如何使用MingW编译源代码的任何想法? – 2012-04-13 04:19:27

+0

我没有Windows机器来尝试它,但试试这个:tar zxvf iphone-fixpng.tgz; cd iphone-fixpng;使所有 – Sparky 2012-04-13 05:57:11

2

也许你可以试试pngdefry

完美处理与多个IDAT标签的PNG。

+0

似乎是不错的选择。它似乎是为Linux构建的,但我会看看我是否可以在Windows上使用gcc。谢谢 – 2012-08-21 13:43:41

3

您可能感兴趣的this C# library我开发的目的是为了逆转pngcrush的功能。我发现的所有现有的实现都有bug或者很难整合到我的项目中,所以我开发了这个。它有单元测试,如果这让你感觉更安全。

是由苹果加入-iphone除了pngcrush,仅在iOS的SDK版本的pngcrush可得,可通过使用xcrun喜欢如下:

xcrun -sdk iphoneos pngcrush -iphone|-revert-iphone-optimizations ...