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

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

最后打包为icns

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

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

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

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值