用convert批量生成logo
欢迎转载,请支持原创,保留原文链接:blog.ilibrary.me
ImageMagick是一个著名的图像处理工具库, 广泛运行在Linux, Window, MacOSX, iOS,Android等系统上。 它提供丰富工具库,同时提供丰富的命令行接口
ImageMagick包含一个convert工具, 可以做resize和各种格式转换。
你可以用下面的命令行做简单的图标resize:
convert logo.png -resize 28x28 logo28x28.png
convert
实际上是magick convert
的别称,两者功能等价.
批量生成图标脚本
把下面的内容保存为iconmaker.sh
#!/bin/sh
filename=$1
dirname=$2
name_array=("Icon-29.png" "Icon-29@2x.png" "Icon-29@3x.png" "Icon-40@2x.png" "Icon-40@3x.png" "Icon-76.png" "Icon-76@2x.png" "Icon-60@2x.png" "Icon-60@3x.png" "iTunesArtwork.png" "iTunesArtwork@2x.png")
size_array=("29x29" "58x58" "87x87" "80x80" "120x120" "76x76" "152x152" "120x120" "180x180" "512x512" "1024x1024")
mkdir $dirname
echo $filename
echo $dirname
for ((i=0;i<${#name_array[@]};++i)); do
m_dir=$dirname/${name_array[i]}
echo $m_dir
convert $filename -resize ${size_array[i]} $m_dir
done
使用方法 ./iconmaker.sh <原icon> <目标目录>
./iconmaker.sh logo.png iconset
下面方法可以查看文件尺寸信息:
identify iconset/iTunesArtwork@2x.png
iconset/iTunesArtwork@2x.png PNG 1024x1024 1024x1024+0+0 8-bit sRGB 453198B 0.000u 0:00.000
脚本参数传递
- $* – 所有的参数
- $@ – 所有的参数
- $# – 参数个数
- $0 – 命令名称,或者脚本名称
- $1 – 第一个参数
- $2 – 第二个参数
- $3 – 第三个参数
- ..
- $9 – 第9个参数
- $10 – 第10个参数
原教程在这里