重点参考: http://www.
imagemagick.org/Usage/
官网: http://www.imagemagick.org/script/command-line-processing.php 简单实例 ( 本文出处: http://bbs.yidabu.com/thread-170-1.html )
推荐先阅读: http://www.
imagemagick.org/script/command-line-processing.php
这里说几个简单的应用。
1、批量图像格式转换
如果想将某目录下的所有jpg文件转换为png文件,只要在命令行模式下输入:
for %f in (*.jpg) do convert "%f" "%~nf.png"
2、对所有图像进行同一操作
譬如,批量生成某目录下所有PNG图像文件的缩略图(大小为80×40):
for %f in (*.png) do convert "%f" -sample 80×40 "%~nf_sample.png"
类似的,将某目录下所有PNG图像旋转90度的操作为:
for %f in (*.png) do convert "%f" -rotate 90 "%~nf_rotate.png"
还可以进行批量裁剪、淡化、抖动、炭化、加边框、圆角等等一系列操作,具体可参考: http://www.ibm.com/developerworks/cn/
linux/l-graf/index.html
http:// linux.chinaunix.net/docs/2006-12-15/3481.shtml
3、在图像上加上文字说明
如果你有大量图片需要发布,在所有图片上加上版权说明是很明智的做法。用ImgeMagick可以很容易的实现:
convert 1.png -fill white -pointsize 13 -draw "text 10,15 ‘lifesinger 2006’" 2.png
可以用-font指定字体,这时需要安装Ghostscript支持: http://www.cs.wisc.edu/~ghost/
还可以用composite命令在所有图片上加上水印,有兴趣的看这里:
http://www. imagemagick.org/script/composite.php
-----------------------------------------------------------------------------------------------------------------------------
convert
转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。 identify 描述一个或较多图像文件的格式和特性。 mogrify 按规定尺寸制作一个图像,模糊,裁剪,抖动等。Mogrify改写最初的图像文件然后写到一个不同的图像文件。 composite 根据一个图片或多个图片组合生成图片。 montage 创建一些分开的要素图像。在含有要素图像任意的装饰图片,如边框、结构、图片名称等。 compare 在算术上和视觉上评估不同的图片及其它的改造图片。 display 如果你拥有一个X server的系统,它可以按次序的显示图片 animate 利用X server显示动画图片 import 在X server或任何可见的窗口上输出图片文件。 你可以捕获单一窗口,整个的荧屏或任何荧屏的矩形部分。 conjure 解释执行 MSL (Magick Scripting Language) 写的脚本。 convert -sample 100x20 input.jpg output.jpg 上述命令生成一个100x20的缩略图 更好的方法是用等比例缩放,像这样,统一生成1/4的缩略图 convert -sample 25%x25% input.jpg output.jpg 如果写成脚本,就是像这个样子 for img in `ls *.jpg` do convert -sample 25%x25% ${img} thm${img} done 加注图片 convert -font fonts/font.ttf -stroke color -fill color -pointsize size -draw 'text 10,10 "String"' input.jpg output.jpg -font 指定字体,因为这样我加注文字, -stroke 描边用的颜色, -fill 填充用的颜色,这里用none就可以画出空心字了, -pointsize 加注字体大小,像素数, -draw 是用来画,这里是文字,下面的位置10,10 是以图片左上角为原点坐标的
向图像添加文本注释
有时您需要向图像添加文本注释。例如,假设您的公司拥有标准的名片图像,并希望在将名片发送到打印机之前将每个雇员的详细信息都添加到名片上面。另一个示例是为通过您网站上的在线课程的用户生成表示证书(presentation certificate)。
您可以使用下列命令行,为该图注释一些标识信息:
迄今为止,这是我在本文中所展示的最复杂的 convert 命令行了,因此我将花些时间来解释它。
-font helvetica 将注释的字体设置为 Helvetica。也可以在此处指定字体文件的路径。这个示例给图像添加了标记,这样未经许可其它网站就不能再使用该图像了,但它是使用位于非标准位置的字体来完成该任务的:
-fill white 用白色而不是标准的黑色来填充字母。
-pointsize 36 以点为单位指定字母的大小。一英寸等于 72 点。
-draw ‘text 10,50 “...”’ 是一组绘图命令,在本例中是移动到位置 10, 50,然后绘制出双引号中的文本。使用单引号是因为如果需要绘制多个字,则绘图命令中需要使用双引号,而您不能在双引号中再用双引号。
在一次 ImageMagick 调用中执行多条命令
您已经看到了将命令与注释示例联系起来的示例。但是,可以将本文中提到的任意 ImageMagick 命令链接起来。例如,也许我们希望制作某图像的缩略图,然后对它应用发散。在发散发生之后,我们将应用炭笔效果:
|
|