手上有一堆很大的tif图片,想要批量转成尺寸小一点的jpg图片。对于图片处理,特别是批量的时候,命令行工具imagemagick可以说是最好不过的工具了。
一 般对于处理转换图片,imagemagick提供了convert和mogrify两个工具,convert一般用于处理完后输出到另一个文件,而 mogrify一般用于修改源文件,但是如果指明不同的格式,mogrify也会保存到另一个不同扩展名的文件中去。这里我要用到的就是magrify。
命令很简单:
ls *tif | xargs -n1 mogrify -format jpg -resize ">1024x1024"
xargs的强大,这里就不说了。这里主要涉及mogrify的两个参数,-fromat和-resize。-format指明格式,这里是 jpg。-resize就是要修改尺寸,这里用的是">1024x1024",意思是输出图片不能大于1024x1024,这也是一个很方便的用 法,这样,输出的图片最长的一边都不会超过1024,大小都比较统一。如果只是指明 -resize 1024 的话,只能保证横向宽度为1024,如果是纵向较长的竖图片,可能就会变成1024x1540之类的尺寸,大小就不统一了。
imagemagick非常强大,并且具备命令行工具特有的方便和适于脚本的特性,非常适合于批量处理。除了上述的例子,我原先还用imagemagick写过一个批量添加png图片透明层的简单脚本,不过不知道扔哪儿了,回头找找再帖上来。
Trackback: http://my.opera.com/Leira/blog/show.dml/193913