摘要

本文主要介绍如何在mac电脑下生成icns文件,众所周知,icns文件是mac电脑上的图标文件,但是这个文件的生成却是十分的繁琐,并且网上的生成脚本五花八门,着实让人头大,本文介绍什么味icns文件,给出生成icns的可用脚本。

0x01 icns介绍

icns是macbook电脑下的图标文件,是由PNG文件转换而来的,在编客户端软件的时候可能会用到,但是这个文件非常恶心,网络上找不到在线生成工具,只能自己写脚本或者下载软件将png文件转换为icns文件。

0x02 网上的垃圾脚本

网上有很多shell脚本生成icns文件,但是坑实在是太多了,搜出来的脚本基本上都如出一辙,都是同样的错误!天下文章一大抄,浪费的大把大把的时间填坑,下面发个完整版本。

0x03 png转icns脚本

代码如下:

Shell

PNG=$1

OUT=$2

if [ -z "$PNG" ] || [ -z "$OUT" ];then

echo "[error]:please input png filename and out filename!"

exit

fi

if [ ! -d "icons.iconset" ];then

echo "[info]:create dir icons.iconset"

mkdir icons.iconset

else

echo "[error]:icons.iconset dir already exists"

exit

fi

sips -z 16 16 $PNG --out icons.iconset/icon_16x16.png

sips -z 32 32 $PNG --out icons.iconset/icon_16x16@2x.png

sips -z 32 32 $PNG --out icons.iconset/icon_32x32.png

sips -z 64 64 $PNG --out icons.iconset/icon_32x32@2x.png

sips -z 64 64 $PNG --out icons.iconset/icon_64x64.png

sips -z 128 128 $PNG --out icons.iconset/icon_64x64@2x.png

sips -z 128 128 $PNG --out icons.iconset/icon_128x128.png

sips -z 256 256 $PNG --out icons.iconset/icon_128x128@2x.png

sips -z 256 256 $PNG --out icons.iconset/icon_256x256.png

sips -z 512 512 $PNG --out icons.iconset/icon_256x256@2x.png

sips -z 512 512 $PNG --out icons.iconset/icon_512x512.png

sips -z 1024 1024 $PNG --out icons.iconset/icon_512x512@2x.png

iconutil -c icns icons.iconset -o $OUT

rm -rf icons.iconset

echo "[info]:complated!"

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

PNG=$1

OUT=$2

if[-z"$PNG"]||[-z"$OUT"];then

echo"[error]:please input png filename and out filename!"

exit

fi

if[!-d"icons.iconset"];then

echo"[info]:create dir icons.iconset"

mkdiricons.iconset

else

echo"[error]:icons.iconset dir already exists"

exit

fi

sips-z1616$PNG--outicons.iconset/icon_16x16.png

sips-z3232$PNG--outicons.iconset/icon_16x16@2x.png

sips-z3232$PNG--outicons.iconset/icon_32x32.png

sips-z6464$PNG--outicons.iconset/icon_32x32@2x.png

sips-z6464$PNG--outicons.iconset/icon_64x64.png

sips-z128128$PNG--outicons.iconset/icon_64x64@2x.png

sips-z128128$PNG--outicons.iconset/icon_128x128.png

sips-z256256$PNG--outicons.iconset/icon_128x128@2x.png

sips-z256256$PNG--outicons.iconset/icon_256x256.png

sips-z512512$PNG--outicons.iconset/icon_256x256@2x.png

sips-z512512$PNG--outicons.iconset/icon_512x512.png

sips-z10241024$PNG--outicons.iconset/icon_512x512@2x.png

iconutil-cicnsicons.iconset-o$OUT

rm-rficons.iconset

echo"[info]:complated!"

使用方法就是保存为shell文件,然后sh运行一下就可以了,比如我保存为icns.sh后用下面的命令运行:

Shell

sh icns.sh 1024x1024.png icon.icns

1

shicns.sh1024x1024.pngicon.icns

其中有两个输入参数:

1024x1024.png 是原本的1024x1024分辨率的png图片,必须的必!

icon.icns 是生成的icns图标文件,注意的是必须要以icns为扩展名,否则会失败!

0x04 关于一些坑

是否可以修改icons.iconset文件夹名称?

答案是不可以!肯定会报错!

2. 是否可以修改icon_XXX.png名称?

答案是不可以!网上很多脚本都修改了这个名字,所以会爆出一些莫名其妙的错误!

icns文件怎么打开_Mac快速生成icns图标文件 | kTWO-个人博客相关推荐

  1. 如何快速生成icns格式的Mac图标

    快速生成Mac图标 第一步 生成不同尺寸的png图标 创建icons.iconset文件夹用来放置不同尺寸的图标 注:此文件夹名必须以.iconset结尾,否则生成icns文件时会报错,报错信息为 i ...

  2. AndroidStudio快速生成JNI头文件

    依次打开Settings-->Tools-->External Tools-->点击加号创建一个快速生成jni头文件的工具 Program: javah Parameters: -v ...

  3. 为海思u-boot快速生成reg_info.bin文件

    在海思平台的底层开发中,SoC的引脚.时钟的配置是通过一个Excel表格生成的reg_info.bin来实现的,这个reg_info.bin文件是在编译u-boot过程中需要的,可以通过查看最终的u- ...

  4. android 生成 资源文件,SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具...

    Vector矢量图在Android项目中的利用愈来愈广泛,但是如果你想用Android Studio自带的工具将SVG图片转化成Vector资源文件却是相当麻烦,首先能支持的SVG规范较少,其次操作流 ...

  5. R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs absolute path)

    R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs an absolute path from the ...

  6. Flutter引入iconfont图标,并自动生成dart图标文件

    Flutter引入iconfont图标并自动生成dart图标文件 下载iconfont文件 flutter 项目 pubspec.yaml文件中配置 自动转换脚本 下载iconfont文件 将icon ...

  7. mysql格式是什么文件怎么打开_sql文件怎么打开,SQL格式是什么文件?

    SQL格式是什么文件? 学习编程的同学可能都知道SQL是一种高级的非过程化的编程语言,雷同于office Access.但是后者大家用的可能比较多,会计专业的同学可能都会考这方面的证书.SQL在数据库 ...

  8. 基于hexo框架快速从0到1搭建个人博客----文章写作(四)

    基于hexo框架快速从0到1搭建个人博客----文章写作 一.Github图床(图片存储) 二.PicGo(图片上传) 三.jsDelivr(CDN加速) 四.Typora(写文传图) 五.总结 一. ...

  9. 基于halo快速搭建一个属于你自己的博客网站

    基于halo快速搭建一个属于你自己的博客网站 公众号 前置条件 JDK安装 下载halo配置文件 下载halo的启动jar 验证启动 公众号 前置条件 首先你需要有一台自己的服务器,比如你去各类云上面 ...

最新文章

  1. Cassandra 数据分区
  2. 《从零开始学Swift》学习笔记(Day 33)——属性观察者
  3. c mysql 连接实例_c连接mysql数据库实例
  4. Linux日志出现大量kernel: NET: Registered protocol family 36
  5. 使用EntityFrameworkCore实现Repository, UnitOfWork,支持MySQL分库分表
  6. ECCV 2020 论文大盘点-姿态估计与动作捕捉篇
  7. Windows下的Makefile
  8. mysql 双向热备份_MySQL双机热备份
  9. 给CentOS 6.7 配置IP地址
  10. EXCEL-VLOOKUP函数使用
  11. 扩展ExoPlayer实现多音轨同时播放
  12. poi生成word转pdf
  13. APP测试面试题,总结的很到位,安排!
  14. matlab作业 阳光的快乐老爹,霍思燕6岁儿子近照曝光,调皮起来超阳光,完美继承老爹容颜!...
  15. xss漏洞开源网站包
  16. 中国战队Newbee夺DOTA2世界冠军
  17. 微信支付(销客多)配置
  18. linux pe无法识别硬盘,diskgenius识别不到硬盘是怎么回事?原因以及解决方法
  19. 使用openssl制作https的证书
  20. 二十一世纪大学英语读写教程(第二册)学习笔记(原文)——8 - Unwritten Rules(不成文的规矩)

热门文章

  1. 批量PDF文件合并用什么软件?这两个宝藏软件赶快收藏起来
  2. 编译优化之 - 通用循环优化
  3. 微信好友删除了怎么找回来
  4. 图片大小、像素、分辨率之间的关系
  5. 无人机航测流程详解:航线规划、像控点布设、CC刺点建模及CASS成图
  6. iTween之iTweenPath的使用
  7. [风铃开发系列]IView动态菜单配置
  8. 粒径20nm的金纳米粒Nafion-GOx-AuNPs对十二烷醇/葡萄糖氧化酶的标记过程
  9. 简单的NovelAI绘画方法
  10. redis的setex key seconds value命令的bug