图标util错误:"Unsupported image format"



我一直在尝试使用iconutil从文件夹"folderthumb.iconset"内的.png图像生成.icns图标,使用以下命令:

iconutil -c icns folderthumb.iconset

当源png具有alpha透明度时,一切都很顺利。然而,当PNG不透明时(从sips,hasAlpha=no),iconutil返回错误:

不支持的图像格式

我的libpng是v1.6,安装了brew

有人告诉我如何解决这个问题吗?

旧版本的iconutil不需要png文件具有alpha通道,而随OS X 10.11分发的iconutil版本(或者它是否附带了最新的Xcode?我不确定…)需要。

如果你有带有透明部分的图标,这应该没有问题,因为我希望所有图形工具在导出到png时都包括alpha通道。但是,如果您有一个完全不透明的图标,大多数工具和应用程序在导出到png时都会删除alpha通道。

以下是我解决这个问题的方法:我安装了ImageMagick(例如通过Mac OS端口),然后使用ImageMagick的命令行工具convert添加alpha通道并将颜色空间设置为sRGB(这是iconutil推荐的):

convert input.png -alpha Set -colorspace sRGB -define png:format=png32 output.png

如果对iconset文件夹中的所有图标执行此操作,则iconutil将不再返回错误。

相关内容

最新更新