介绍
前几天,下了一款软件,Inpaint,去除图片水印的软件。但是,安装后我发现,启动台中,图标后有黑边。我使用 预览 打开 inpaint 的 .icns 图标文件,发现其中的 两个图标确实有问题。所以就想解决一下这个问题。后来,在网上查了下,结合相关知识,自己写了一个一键处理的脚本,这里分享给大家。
要求
需要制作为图标的图片最好为 1024 x 1024,格式必须为 png,使用脚本时,先将 图片拷贝到脚本所在文件夹,然后运行脚本。
脚本内容
echo "***************** 欢迎使用 icns 生成器 *****************"
echo "--> 脚本开始执行 "
echo "--> 请先确保需要转换的PNG图片文件在脚本所在的当前文件夹,并且大小为 1024x1024 ~ "
read -p "--> 请输入需要转换的文件的名称,包含扩展名:" filename
temp_path="$filename.iconset"
echo "--> 创建临时文件夹 $temp_path"
mkdir $temp_path
echo "--> 临时文件夹创建完毕,准备创建临时图片~"
sips -z 16 16 $filename --out $temp_path/icon_16x16.png
sips -z 32 32 $filename --out $temp_path/icon_16x16@2x.png
sips -z 32 32 $filename --out $temp_path/icon_32x32.png
sips -z 64 64 $filename --out $temp_path/icon_32x32@2x.png
sips -z 128 128 $filename --out $temp_path/icon_128x128.png
sips -z 256 256 $filename --out $temp_path/icon_128x128@2x.png
sips -z 256 256 $filename --out $temp_path/icon_256x256.png
sips -z 512 512 $filename --out $temp_path/icon_256x256@2x.png
sips -z 512 512 $filename --out $temp_path/icon_512x512.png
sips -z 1024 1024 $filename --out $temp_path/icon_512x512@2x.png
echo "--> 临时图片创建完毕,准备生成 icns 文件"
iconutil -c icns $temp_path -o $filename.icns
echo "--> icns 文件生成完毕,准备清理临时文件"
rm -rf $temp_path
echo "--> 临时文件清理完毕"
echo "***************** @author:Zereao Bye~ *****************"
使用方法
在任意目录,新建一个文本文档,将上面的脚本内容复制进去,保存。然后将文本文档扩展名改为 .sh ,并且将需要转换的图片放到当前文件夹。然后此时因该还不能执行这个脚本,先执行 chmod 777 {.sh脚本的名称,带扩展名} 赋予权限 ,例如 chmod 777 转换器.sh。然后就可以执行该脚本,按照提示进行操作即可。
如果还有什么问题,欢迎留言一起探讨。
下载链接
下面我也给出了我弄好了的下载链接,直接下载,赋予权限,运行即可。
icns生成脚本:https://download.youkuaiyun.com/download/zereao/11011005