站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题使用ImageMagick批量对图片进行处理

使用ImageMagick批量对图片进行处理

摘要: 使用ImageMagick批量对图片进行处理
<tr><td>
http:///tech/article1015.html
ImageMagick是一个强大的命令行图像处理软件,配合dos命令,就可以批量对大量图片进行处理了。
可以去官方网站http://www.imagemagick.org下载最新版本的ImageMagick,安装后就可以在dos窗口中采用convert命令对图片进行转换了,命令格式如下:
convert <输入图片名> [+/-命令和命令的参数]* <输出图片名>

其中命令的执行是有顺序的,按照从左至右的顺序依次执行,比如:
convert 1.jpg -crop 300x300+0+0 -resize 200x200 -colors 100 +profile "*" 1.png
表示:把1.jpg先从左上角(0,0)裁剪一块300x300的部分,然后把这部分缩小到200x200,然后把颜色缩减到100色,最后生成1.png。"+profile "*""意味着在图片文件里不存储附加信息,以减小图片体积。
注意,-resize会试图保留原图的视觉比例,因此不一定生成的图片和你指定的尺寸一定匹配,比如,如果2.jpg大小是400x200,那么如果用下面的命令:
convert 2.jpg -resize 100x100 2.png
那么生成的图片2.png的实际大小是100x50。

常用的命令有:
-crop 宽x高+起点横坐标+起点纵坐标:裁剪图
[]-resize 宽x高[!]:改变尺寸,如果使用惊叹号,表示不保留视觉比例,强行改变尺寸匹配给定的宽和高
-colors 颜色数:设定图片采用的颜色数,如果是生成png或gif图片应指定这个参数
-quality 质量:设定jpeg图片输出质量,推荐采用80,此命令仅用于输出格式是jpg的情况,不应省略,省略的话默认质量是95,生成图片过大
+profile "*":图片中不存储附加信息,必须使用,否则生成图片过大

配合dos命令就可以进行批量处理了,可以采用批处理文件或者使用for循环,对于简单的操作,推荐采用for循环,使用方法举例:
for %I in (*.jpg) do convert %I -resize 200x200 -colors 20 +profile "*" %~nI.png
把当前目录下所有jpg文件改变大小到200x200,并降低颜色到20色,生成对应的png文件,for命令的详细解释请使用for /?查看。
http:///tech/article1015.html
</td></tr></table></td> </tr> <tr> <td background="/pic/split.gif" height=1></td> </tr> <tr> <td class="tdMargin1">
↑返回目录
前一篇: 一份手机游戏策划
后一篇: 优化png图片的小工具