Восстановить сжатие XCode с помощью pngcrush в Windows? - PullRequest
7 голосов
/ 02 апреля 2012

У меня есть несколько изображений PNG, извлеченных из файлов IPA, и я хочу получить исходный 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 действует так, как будто не знал команду.

Есть идеи, что делать?

Ответы [ 4 ]

3 голосов
/ 24 июня 2013

Вас может заинтересовать эта библиотека C # , которую я разработал, чтобы полностью изменить то, что делает pngcrush.Все существующие реализации, которые я обнаружил, были либо пронизаны ошибками, либо слишком сложны для интеграции в мой проект, поэтому я разработал это.У него есть модульные тесты, если это заставляет вас чувствовать себя в большей безопасности.

-iphone дополнение к pngcrush было добавлено Apple и доступно только в версии pngcrush в iOS SDK, доступной с помощью xcrunкак следует:

xcrun -sdk iphoneos pngcrush -iphone|-revert-iphone-optimizations ...
2 голосов
/ 12 апреля 2012

Этот ответ: pngcrush: uncrush on linux? объясняет, что -revert-iphone-optimizations присутствует только в версии Apple pngcrush. Но это указывает на пару других вариантов, которые могут работать. Linux, а не Windows, но так как источник есть, вы можете заставить его работать.

2 голосов
/ 21 августа 2012

Может быть, вы можете попробовать pngdefry .

Прекрасный pngs для ведения сделок с несколькими тегами IDAT.

0 голосов
/ 11 апреля 2012

Вероятно, он не знает команду. Документация, которую я нашел на -revert-iphone-optimizations, взята с страницы разработчика Apple , в которой говорится, что pngcrush является частью IOS SDK. Учитывая это, я бы предположил, что он был взломан этой конкретной версией Apple и, возможно, не является частью официальной загрузки pngcrush. Если это правда, вам действительно нужно установить его и использовать включенный pngcrush, как описано в статье.

Я также немного разбираюсь в синтаксисе, использованном в этом примере. Это выглядит как длинный вариант, и они обычно начинаются с двух гифен , а не одного. Это может быть просто опечатка, поэтому попробуйте --revert-iphone-optimizations.

...