用ImageMagick批量转换图片格式【部分转载】
写Latex时经常要将png、jpg文件转为eps的,每次都用photoshop或者matlab很麻烦,,,,发现ImageMagick还不错~
1、下载
到下列网址下载了安装即可
http://www.imagemagick.org/script/binary-releases.php#windows
支持的文件格式:http://www.imagemagick.org/script/formats.php
2、eps文件的处理
据说需要安装GhostScript,没测试,反正CTex中带有GhostScript。
3、写好的批处理文件
下列代码用于将当前目录的jpg、png文件转换为eps文件,注意是eps3的,据说转换后文件比较小,实际真的比较小,500k对比30M啊!!!兼容性不知道。。。反正我的CTex用着没问题。
图片大小设为高度或宽度均得小于1600像素(数值随便设的,否则大图片显示不全啊!!)
4、输出图片大小有关的选项
参见:http://www.imagemagick.org/script/command-line-processing.php#geometry
除了下列选项外,貌似 -page选项也比较有用,没测试
附录:参考及转载
convert的更多有用选项:
转载自:http://blog.sina.com.cn/s/blog_44a0dd4c0100cqq8.html
注意:1024x768>要用引号扩起来,否则'>'会被系统解释为输出重定向。
-filter Lanczos:指定转换图片时的过滤器,通常配合-resize使用。有很多种过滤器,挨个试了之后觉得这个合适,其他的也不懂。
-quality 100:指定jpeg的图片质量压缩比。默认是80%,我这里指定100%,最佳质量。
-colorspace rgb:指定转换后图片的色彩空间。有很多种色彩空间,PC上使用rgb足矣。
+profile "*":删除图片附带的元数据信息,包括exif等等。这些数据很占空间的,所以直接删除。
idenfify.exe
这个工具用来查看图片的详细信息,包括色彩空间,图层信息等等。
查看图片的更多详细信息使用:identify.exe -verbose aaa.jpg
有了以上的参数,基本上能够搞定一切了。但是要让ImageMagick处理eps的图像文件,还需要安装另外一个软件包GhostScript,专门用来处理ps文件的,搜索一下下载就可以。
关于eps3选项用法转载自:http://blog.sciencenet.cn/home.php?mod=space&uid=47991&do=blog&id=535301
引用convert fig.png eps3:fig.eps
这里的eps3表示用Level 3,Level指的是postscript所采用的compatibility level。Level 1效果最差而且文件很大,Level 2支持从jpg产生eps文件,产生的文件也很小。Level 3包含了对Zlib压缩的支持,也可以从png产生eps文件。通常来说,Level 3产生的文件最小,Level 2兼容性最好。