【问题标题】:iconutil error: "Unsupported image format"iconutil 错误:“不支持的图像格式”
【发布时间】:2016-07-28 19:29:24
【问题描述】:

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

iconutil -c icns folderthumb.iconset

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

不支持的图片格式

我的 libpng 是 v1.6,使用 brew 安装。

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

【问题讨论】:

  • 我遇到了同样的问题。我读过的几篇文章说它们必须有 alpha 通道。我试图弄清楚如何轻松地将它们添加到我现有的 png 文件中。

标签: macos bash homebrew libpng iconutil


【解决方案1】:

旧版本的 iconutil 不需要 png 文件具有 alpha 通道,随 OS X 10.11 分发的 iconutil 版本(或者它是否带有最近的 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

如果您对 iconset 文件夹中的所有图标都执行此操作,那么 iconutil 应该不再返回错误。

【讨论】:

  • 非常感谢,皮尔斯·乌索·沃尔特!这就像一个魅力!实际上,我转换了用作基础的 PNG 图像,之后生成每个图标集 PNG。
  • 很高兴听到。那么,你愿意接受这个作为答案吗? :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
  • 1970-01-01
  • 1970-01-01
  • 2014-06-29
  • 2021-12-20
  • 1970-01-01
  • 2021-11-05
相关资源
最近更新 更多