Ошибка iconutil: "Неподдерживаемый формат изображения"
Я пытался использовать iconutil для создания значков.icns из изображений.png в папке "folderthumb.iconset", с помощью следующей команды:
iconutil -c icns folderthumb.iconset
Все идет хорошо, когда исходный png имеет альфа-прозрачность. Однако, когда PNG непрозрачны (из sips, hasAlpha=no), iconutil возвращает ошибку:
Неподдерживаемый формат изображения
Мой libpng v1.6, установлен с brew
,
Кто-нибудь подсказывает, как решить эту проблему?
1 ответ
В более старых версиях iconutil не требовалось, чтобы файлы png имели альфа-канал, а версия iconutil, распространяемая с OS X 10.11 (или она поставлялась с недавним Xcode? Я не уверен...), делает это.
Если у вас есть значки с прозрачными частями, это не должно быть проблемой, потому что я ожидаю, что все графические инструменты будут включать альфа-канал при экспорте в png. Однако, если у вас полностью непрозрачный значок, большинство инструментов и приложений удаляют альфа-канал при экспорте в png.
Вот как я решил это: я установил ImageMagick (например, через порты Mac OS), затем использовал инструмент командной строки ImageMagick convert
чтобы добавить альфа-канал и установить цветовое пространство sRGB (что рекомендовано iconutil):
convert input.png -alpha Set -colorspace sRGB -define png:format=png32 output.png
Если вы сделаете это для всех значков в папке с набором значков, iconutil не должен больше возвращать ошибку.