使用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.epsconvert基本用法
可以设置-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
相关文章推荐
- 使用滤镜解决IE6下png图片不能透明的问题
- 使用滤镜解决IE6下PNG图片背景不透明的BUG
- 使用DD_belatedPNG让IE6支持PNG透明图片
- 使用imagemagick转pdf为png图片
- 使用Js来让IE支持png图片透明效果
- 使用截图方式将Excel导出为PNG图片的不可行性
- win32下gdiplus的使用/实现PNG图片透明窗体
- ie6下png图片背景不透明的解决办法使用js实现
- 在IE6中使用透明格式的PNG图片
- 使用滤镜解决IE6下png图片不能透明(被渲染成默认色)的问题
- win32下gdiplus的使用/实现PNG图片透明窗体
- 使用DD_belatedPNG让IE6支持PNG透明图片
- 使用DD_belatedPNG让IE6支持PNG透明图片
- Flex中使用PNG图片,并保持透明
- 使用分层窗口及透明png图片实现一个异形窗口
- 使用Js来让IE支持png图片透明效果
- 使用DD_belatedPNG让IE6支持PNG透明图片
- IE6使用png透明图片的方法
- 使用DD_belatedPNG让IE6支持PNG透明图片 及IE6下背景图闪烁问题的解决方法
- (转)使用CImage显示透明的PNG图片