零、说明
文档
ImageMagick (TM) 是一个免费的创建、编辑、合成图片的软件,其大多数功能的使用都来源于命令行工具。在python2还有对应的库PythonMagick。参考资料:
① ImageMagick官网
② 中文官网
③ 中文教程
下载
ImageMagick - Download
搜索关键词“portable”,可以下载免安装的便携版
一、convert(mogrify)
mogrify功能与convert一样,但是对原文件原地操作
如果直接写convert、mogrify等命令不生效,可以加一个magick前缀
裁剪
magick convert -crop 93x93+0+0 xmut-logo.png logo.png
93x93+0+0:widthxheight+dx+dy
改变图片格式
convert 要转换的图片名 转换后的名字
注意也能转成txt格式就是用一个文本文件把数据标记出来了
对于不支持的格式,好像就维持原文件编码了。
支持特殊格式命名,比如可以输出0000.jpg~0003.jpg
convert *.jpg %04d.jpg
长宽缩放
convert 1.png -resize 300 2.png :将一张图片等比例把宽度变为300
convert 1.png -resize x300 2.png :高度变为300
mogrify -resize 300 1.png :原地操作
convert 1.png -resize 50% 2.png :缩放一半
pdf转图片
convert -density 100 LargeSample.pdf split/page-%0d.jpg
density设为100是正常质量,默认好像只有50的质量。可以设置为200、300、400等更高的质量参数。
(注意参数顺序有影响,待转换图片要写到-density后面)
eps批量转png,并遵循原文件名
mogrify -density 120 -format png *.eps
这段代码的缺陷是处理不了透明通道
其他
-trim:裁剪图像四周空白区域;
-transparent color:去除图像中指定的颜色;
-density geometry:设定图像的 DPI 值,若不明 DPI 值的概念,可参考《有关pt, px及DPI的知识》;
-antialias:让图像具有抗锯齿的效果;
-quality:图像压缩等级。
二、identify
获取宽高信息
资料,
> identify -format "%f,%w,%h\n" *.jpg > filelist.csv
> identify -format "%f, width=%w, height=%h\n" *.jpg
> identify -format "%f,%w,%h\n" *.jpg *.png
a.jpg,870,946
b.jpg,298,219
bd.jpg,3138,1877
bean1.jpg,1252,1252
三、eps相关业务
将eps批量导出为透明png图片
使用ImageMagick将eps批量导出为透明png图片运维代号4101的专栏-CSDN博客
mogrify -density 120 -format png *.eps
mogrify -transparent white *.png
将工作目录下的所有eps导出为png图片,并且将白色背景变成透明背景。
- -density:控制输出的分辨率,这里-density的单位与illustrator导出png的ppi相同,默认值为72。为了防止图片太小,这里进行一定的放大,设成120:convert -density 120 a.eps a.png,输出的a.png原尺寸为132×26的话,现在放大120/72,变为220×43。注意这里的参数调用顺序,-density 120不能放到a.eps后面。
-transparent white
可以把白色背景变透明:convert -transparent white a.png a.png
。- 如果要批量将eps转为png,
convert
的导出名称规则是采用数字自动编号,无法维持原文件名。使用*作为导出通配符会报错,只能使用%02d等数字格式。例如: