您的位置:首页 > 其它

使用ImageMagick将eps批量导出为透明png图片

2018-03-09 18:01 323 查看

一、前言

后文的解释比较啰嗦,这里先上总结论:下载magick软件,在命令行使用下述两行代码:

mogrify -density 120 -format png *.eps

mogrify -transparent white *.png


可以将工作目录下的所有eps导出为png图片,并且将白色背景变成透明背景。

ImageMagick (TM) 是一个免费的创建、编辑、合成图片的软件,其大多数功能的使用都来源于命令行工具。在python2还有对应的库PythonMagick。参考资料:

ImageMagick官网

中文官网

中文教程

首先下载并安装magick



二、使用convert处理单张图片

下载测试文件a.eps

convert基本用法



可以设置-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等数字格式。例如:



三、改用mogrify命令批量处理图片

所以批量处理的时候,推荐用功能类似的
mogrify
代替
convert
,其与
convert
的主要区别是用于原地操作。

因为windows自带一个C:\Windows\System32\convert.exe工具,这也是为了防止调用名称冲突。

替换单张图片的语法,结合-format参数:
mogrify -density 120 -format png a.eps
,注意千万千万不要用
mogrify -density 120 a.eps a.png
,这不仅不会生成a.png,还会破坏原始a.eps文件,把矢量图变成位图。

批量把eps替换为png,且把白色背景换成透明背景的代码:

mogrify -density 120 -format png *.eps

mogrify -transparent white *.png

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: