Mac 系统 png格式图片 转 icns格式图标

  • 内容
  • 评论
  • 相关

png 转 icns
最近写了一个离线播放器,兼容linux,windows,macOS,其他都好,但是mac上面的logo必须得是icns图标,什么鬼?
于是踏上了漫漫求知路,,一开始各种在在线转icns,但是编译打包的时候一律不通过,最后总结了着么一个自己生成icns图标的方法。

icns
icns 格式的图标,其实是macOS系统上采用的一种图标格式,也必须是这么一种格式,它支持各种尺寸的图标,其实就是把各种尺寸的图标打包到一起,然后根据场景选择合适的尺寸,
进行最优的展示方式,达到最佳的视觉效果。

png 转为 icns
首先,我们需要准备一张1024X1024或者像素更高的图片,命名为logo.png

创建一个临时目录,把转换的图片放在里面

mkdir test.iconset  // 这里后缀必须是 iconset

然后把图片转换为各种尺寸

$ sips -z 16 16     pic.png --out tmp.iconset/icon_16x16.png
$ sips -z 32 32     pic.png --out tmp.iconset/icon_16x16@2x.png    // 2x是专供Retina屏幕使用的
$ sips -z 32 32     pic.png --out tmp.iconset/icon_32x32.png
$ sips -z 64 64     pic.png --out tmp.iconset/icon_32x32@2x.png
$ sips -z 128 128   pic.png --out tmp.iconset/icon_128x128.png
$ sips -z 256 256   pic.png --out tmp.iconset/icon_128x128@2x.png
$ sips -z 256 256   pic.png --out tmp.iconset/icon_256x256.png
$ sips -z 512 512   pic.png --out tmp.iconset/icon_256x256@2x.png
$ sips -z 512 512   pic.png --out tmp.iconset/icon_512x512.png
$ sips -z 512 512   pic.png --out tmp.iconset/icon_512x512@2x.png

这样执行完命令之后,test.iconset 目录下就有了以下十张图片

我这里没有转换那么多,如果你觉得某个尺寸用不到的话,不执行命令就可以了,还有就是图片名称是固定的,否则现在最后一步会出错。

最后打包为icns

iconutil -c icns tmp.iconset -o pandaman.icns

大功告成!以上仅供mac下参考,win没有测试,不做发言!

随手记下,有不当之处请留言!如果对小伙伴们有帮助的话,点赞啊,谢谢!
————————————————

评论

1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注