失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 用ImageMagick批量转换图片格式【部分转载】

用ImageMagick批量转换图片格式【部分转载】

时间:2021-04-27 02:14:41

相关推荐

用ImageMagick批量转换图片格式【部分转载】

[size=large]写Latex时经常要将png、jpg文件转为eps的,每次都用photoshop或者matlab很麻烦,,,,发现ImageMagick还不错~[/size]

[color=blue][size=x-large]1、下载[/size][/color]

[size=large]到下列网址下载了安装即可[/size]

[url]/script/binary-releases.php#windows[/url]

[size=large]支持的文件格式:[/size][url]/script/formats.php[/url]

[color=blue][size=x-large]2、eps文件的处理[/size][/color]

[size=large]据说需要安装GhostScript,没测试,反正CTex中带有GhostScript。[/size]

[color=blue][size=x-large]3、写好的批处理文件[/size][/color]

[size=large]下列代码用于将当前目录的jpg、png文件转换为eps文件,注意是eps3的,据说转换后文件比较小,实际真的比较小,500k对比30M啊!!!兼容性不知道。。。反正我的CTex用着没问题。

图片大小设为高度或宽度均得小于1600像素(数值随便设的,否则大图片显示不全啊!!)[/size]

for %%I in (*.jpg) do convert -resize "1600x1600>" %%I eps3:%%~nI.eps

for %%I in (*.png) do convert -resize "1600x1600>" %%I eps3:%%~nI.eps

[color=blue][size=x-large]4、输出图片大小有关的选项[/size][/color]

参见:[url]/script/command-line-processing.php#geometry[/url]

[size=large]除了下列选项外,貌似 [color=blue]-page[/color]选项也比较有用,没测试[/size]

[img]/upload/attachment/0076/6819/fe457e5e-40c5-37c0-989d-10973ab6828c.png[/img]

[color=blue][size=x-large]附录:参考及转载[/size][/color]

[color=red][size=large]convert的更多有用选项:[/size][/color]

转载自:[url]/s/blog_44a0dd4c0100cqq8.html[/url]

[quote]convert.exe

最简单的用法:convert.exe aaa.jpg aaa.png

可能用到的参数(没用到的我就不解释了,是在太多):

-layers flatten:在转换psd文件的时候用于合并多图层为一个图层,否则的话转换多图层的psd图就会出现多张图,每张图对应一个图层。

例如:convert.exe -layers flatten aaa.psd aaa.jpg

-density 72:指定图片的解析度,也就是单位面积像素数,不知道这样理解对不对,默认的单位是inch。

-units PixelsPerInch:指定单位,这个配合-density使用,指定-density的单位,这个很重要啊,我发现有些图片的解析度单位是centimeter,这两个单位差得还是比较远的。

例如:convert.exe -density 72 -units PixelsPerInch aaa.tif aaa.jpg

-resize 1024x768:指定图片转换的大小。IM会自动判断图片的宽和高进行等比压缩。但是这会有个问题,就是当图片小于1024x768时会将图片强制放大。可以在1024x768后面加上'>','<'等限定符来限制转换行为。1024x768>是只转换大于1024x768的图,1024x768<只转换小于1024x768的图。其他限定符请参考手册。

例如:convert.exe -resize "1024x768>" aaa.tif aaa.jpg

注意: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文件的,搜索一下下载就可以。[/quote]

[color=red][size=large]关于eps3选项用法转载自:[/size][/color][url]/home.php?mod=space&uid=47991&do=blog&id=535301[/url]

[quote]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兼容性最好。[/quote]

如果觉得《用ImageMagick批量转换图片格式【部分转载】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。