苹果的png SDK使用pngcrush的修改版本来转换iOS包中的iOS文件。他们的版本也可以恢复更改(使用"- revert -iphone-optimizations“开关),但原始版本不能。
有没有可以在Linux上运行并恢复iphone优化的工具?
谢谢。
发布于 2011-08-22 03:04:46
iphone-fixpng可以在Linux上运行。请参阅此discussion对其功能的说明。我链接到web.archive.org是因为原件停用了。
发布于 2013-11-06 04:31:24
您可以选择使用以下选项之一:
$ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -dir uncrushed revert-iphone-optimizations -q *.png
这使用了一个来自苹果的修改过的pngcrush来撤销它的优化。我猜这将适用于所有破碎的pngs。有关来自this blog的xcrun
$ python ipin.py
这将解压实际目录及其子目录中的所有文件。不要担心调用它两次,根据我的经验,不会损坏已经未压缩的pngs。在here中,您会发现ipin.py并不会对所有的apple pngs进行反优化
它(ipin.py)不能处理多个IDAT块,不能处理Adam7隔行扫描的图像,也不能修复预乘的alpha。
$ git克隆https://github.com/hadess/fixpng-thumbnailer.git $ cd fixpng-thumbnailer $ ./autogen.sh $ make $ sudo make install
在此之后,您可以使用一个新命令gnome-fixpng-thumbnailer,它的工作方式如下
$ gnome-fixpng-thumbnailer输入文件
注意这个命令,因为如果在同一个png上调用两次,它会损坏png。
我这样使用它:
$用于缩略图中的文件;执行回显“$file”;gnome-*.png-thumbnailer$file $file;完成
您将会猜到为什么回显文件名。这是因为此命令可能会静默失败,(没有$?如果失败,使用非零值),唯一的线索是"ZLib error!-3\f6“信息。这是一个快速的解决方案,因为有趣的是,你会发现ipin.py确实可以解压这些文件。
有关pngdefry的另一个工具,请阅读this。它提供了关于所有这些东西的宝贵信息,-even它的来源-但我还没有尝试过。
我希望pngcrush能够吸收这些功能,这样你就可以开箱即用了,至少我已经给pngcrush maintainer (嗨,Glenn)发了封邮件。
https://stackoverflow.com/questions/7138700
复制相似问题