iconutil错误:"Unsuported图像格式"

and*_*tos 2 macos bash homebrew libpng iconutil

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

iconutil -c icns folderthumb.iconset
Run Code Online (Sandbox Code Playgroud)

当源png具有alpha透明度时,一切顺利.但是,当PNG不透明时(来自sips,hasAlpha = no),iconutil会返回错误:

不受欢迎的图像格式

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

有没有人提出如何解决这个问题的提示?

Pie*_*ter 5

较早版本的iconutil并不要求png文件有一个alpha通道,iconutil的版本随OS X 10.11一起分发(或者它是否带有最新的Xcode?我不确定......).

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

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

convert input.png -alpha Set -colorspace sRGB -define png:format=png32 output.png
Run Code Online (Sandbox Code Playgroud)

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