多语言展示
当前在线:894今日阅读:138今日分享:33

ImageMagick添加图片效果

ImageMagick可以利用命令方便地在图形中添加图形、水印、文字,它可以与编程语言结合起来,用于批量处理图片。不少网站经常利用它来处理图片。这里我将介绍一下在添加边框、旋转、翻转、聚焦、色彩处理和特效方面最常用的命令和操作。1使用ImageMagick添加图形、文字0ImageMagick缩放图片
工具/原料
1

ImageMagick

2

终端

边框
1

这次我依然使用一张系统自带的壁纸作为示例。这是原图。

2

加边框(border)。-bordercolor参数设定边框颜色,-border参数设定横向和竖向的宽度。执行命令:convert -border 30x60 -bordercolor gray cherryblossom.jpg cherryblossom_border.jpg生成的图片如下:

3

边框也可以使用-frame参数设定。-frame参数设定横向和竖向的边框宽度,-mattecolor设定颜色,颜色也可以使用RGB代码,但得用引号包含它。执行命令:convert -frame 30x60 -mattecolor "#203040" cherryblossom.jpg cherryblossom_frame.jpg

旋转、翻转
1

在旋转时多出的边际会用背景色填充,由于jpg格式的图形不支持透明,周边会留下白色,将它们粘贴到其他图片时会显得很丑,当然,导出时你可以使用支持透明的图片格式。这次我使用支持透明的png格式。我选择了png格式的图片作为示例。

2

这次我把整体向右旋转45度,-rotate设定旋转角度,如果设置负数,则向左旋。-background设定背景色,此处我设定为none,你改变网页背景颜色,你会发现图片的四周被网页背景颜色包围,而不是白色,很自然。如果你不会设定,你可以将浏览器调整为夜间模式。执行命令:convert -background none -rotate 45 aurora-over-iceland.png aurora-over-iceland_rotate.png生成的图片(因为原文件过大,对图片进行了缩放)如下:

3

也可以选择其中一片区域进行调整。-gravity用来设定坐标原点(具体用法参见上一篇经验),region用来设定选区大小,后面两组参数用来表示偏移量。后面的特效大多也可以设定选区。执行命令:convert -gravity Center -region 500x500+50-50 -background none -rotate 45 aurora-over-iceland.png aurora-over-iceland_rotate2.png生成的图片如下:

4

上下翻转用-flip参数,左右翻转则用-flop参数。分别执行命令:convert -flip aurora-over-iceland.png aurora-over-iceland_flip.pngconvert -flop aurora-over-iceland.png aurora-over-iceland_flop.png生成的图片如下:

聚焦
1

漩涡效果(swirl)。在参数后接数字,设定特效程度。执行命令:convert -swirl 100 cherryblossom.jpg cherryblossom_swirl.png生成的图片如下:

2

凸起效果和下凹效果(raise)。-raise选项是凸起的效果,而+raise是下陷的效果。后面的参数指外围横边和竖边的宽度,但它不会改变图形的整体尺寸。分别执行命令:convert -raise 100x100 cherryblossom.jpg cherryblossom_up.jpgconvert +raise 100x100 cherryblossom.jpg cherryblossom_down.jpg生成的图片如下:

色彩处理
1

反色(negate)。-negate选项指颜色变为反色;+negate指灰度相反,可以理解为亮度相反。分别执行命令:convert -gravity Center -region 700x700 -negate cherryblossom.jpg cherryblossom_negate.jpgconvert +negate cherryblossom.jpg cherryblossom_negate_gray.jpg第一个我设定了作用区域,而第二个由于即使在交界地方反差也不大,索性全部设定。

2

噪声(noise)。使用-noise选项可以在不丢失边缘图像信息的情况下平滑图片,后面接一个数字,设定程度;而+noise选项则添加图像噪声,后面可以接这些:Gaussian、Impulse、Laplacian、Multiplicative、Poisson、Random、Uniform作为图像处理方式。分别执行命令:convert -noise 10 cherryblossom.jpg cherryblossom_-noise.jpgconvert +noise Impulse cherryblossom.jpg cherryblossom_+noise.jpg生成的图片如下:

3

高斯模糊(blur)。参数后可以直接接一个数值,指的是像素范围,也可以这样写:“-blur 80x5”,由于后面的参数之间的关系比较复杂,就不在这写了。执行命令:convert -blur 200x5 cherryblossom.jpg cherryblossom_blur.jpg生成的图片如下:

4

散射(spread),后面的数字判定像素点周围的大小,并将它们混合,其效果近似于毛玻璃。执行命令:convert -spread 20 cherryblossom.jpg cherryblossom_spread.jpg

5

单色(monochrome)。将图片变为黑白两色,命令如下:convert -monochrome cherryblossom.jpg cherryblossom_mono.jpg生成的图片如下:

画面效果
1

炭笔画(charcoal)。通过后面的数字设定程度。命令如下:convert -charcoal 2 dandelion.jpg dandelion_coal.jpg生成的图片如下(由于原来的图片像素不高,生成的效果不好,换了一张图片):

2

油画效果(paint)。也是通过参数设定程度。命令如下:convert -paint 4 paisaje.jpg paisaje_paint.jpg生成的效果还不错(图片建议放大察看)。

注意事项

注意参数的应用。

推荐信息