使用imageMagick生成@2x图片

ImageMagick 1). 安装与更新
(macos)安装ImageMagick:brew installimagemagick
(macos)更新: brew upgrade imagemagick
2). 基本用法
格式转换 convert 2.png 22.jpg
尺寸转换成22x22 convert -resize 22x22 img1.png resize.png
旋转: convert -rotate 90 img1.png rotated.jpg
获取尺寸 identify -format "%[fx:w]x%[fx:h]" rotate.jpg #得到 334x368%
编写生成2x图片的脚本(尺寸缩放到2/3) 【使用imageMagick生成@2x图片】实现效果: 先再脚本所在目录A下创建output文件夹,然后将所有图片复制到output文件夹中并添加@3x后缀,最后生成@2x的图片。

#!/bin/bash#cd /Users/tyrad/Desktop/mm/testcd`dirname $0`mkdir outputfor i in `ls *.png` ; do cp $i output/`echo $i | sed 's/\.png//'`@3x.png ; donefor i in `ls *.png` dow=$(identify -format "%w" ${i}) h=$(identify -format "%h" ${i})#shell计算中使用除法,基本默认上都是整除 #使用bc工具,sclae控制小数点后保留几位 w2=`echo "scale=2; $w/3*2" | bc` h2=`echo "scale=2; $h/3*2" | bc`#to 2x convert -resize ${w2}x${h2}${i}output/`echo $i | sed 's/\.png//'`@2x.pngdone

优化:可以直接使用百分比来缩放
#!/bin/bashcd`dirname $0`mkdir output for i in `ls *.png` ; do cp $i output/`echo $i | sed 's/\.png//'`@3x.png ; donefor i in `ls *.png` ; do convert -resize '66.6667%!'${i}output/`echo $i | sed 's/\.png//'`@2x.png ; done

给与脚本运行权限,双击运行即可。
参考:
http://www.netingcn.com/imagemagick-resize.html
https://www.cnblogs.com/ITtangtang/p/3951240.html
https://www.zhihu.com/question/20816420/answer/22984930

    推荐阅读