使用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
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- 使用协程爬取网页,计算网页数据大小