标题:
通过命令行进一步处理图形--为图像添加边框
[打印本页]
作者:
look_w
时间:
2018-5-7 20:07
标题:
通过命令行进一步处理图形--为图像添加边框
有一些读者提出的另一个问题是如何给图像添加边框。同样,通过 ImageMagick 可以轻松完成。
凸边或凹边我将要介绍的第一类边框是凸边或凹边。这个效果是通过调节图像边缘的颜色而实现的,看起会感觉图像像是从周围表面凸起或者凹下。为实现这个效果,您需要指定一个尺寸,首先是水平尺寸,然后是垂直尺寸。这些尺寸的大小必须满足这样一个规则,尺寸的二倍必须小于或等于在那个方向上图像的尺寸大小。例如,您不可以指定边框垂直尺寸大于图像垂直尺寸的一半—— 其实这主要是说您不可以制作一个比原图还要大的边框。
使用
-raise
命令行参数来创建凸边。例如,为创建一个 5 像素乘 5 像素的边,我们执行:
convert -raise 5x5 tree.png tree-raised.png
这将给出最终的图像:
图 5. 带有凸边的图像
只需要将命令行参数换为
+raise
就可以创建一个凹边。例如:
convert +raise 5x5 tree.png tree-lowered.png
这将得到一个稍有不同的图像:
图 6. 带有凹边的图像
一个简单的纯色边如果您喜欢稍微简洁一些的风格,您可能对纯色的边感兴趣。ImageMagick 同样可以为您完成这一任务。
convert -bordercolor red -border 5x5 flower.png flower-border.png
这将创建:
图 7. 带有红边的图像
我们可以在命令行中为边指定哪些颜色?是这样,这个列表太长了以至于在本文中无法给出。执行下面这个命令可以得到列表的一个拷贝:
convert -list color
从桔黄色到原木色,从玉米色到贝壳白,有 683 种“基本”颜色可以选择 —— 更不用说您还可以使用以下方法来指定您自己的颜色了,这里 R表示红色值,G 表示绿色值,B 表示蓝色值,A 是 alpha(透明度)值:
#RGB - (R,G,B 是十六进制数,每个 4 位)
#RRGGBB - (每个 8 位)
#RRRGGGBBB - (每个 12 位)
#RRRRGGGGBBBB - (每个 16 位)
#RGBA - (每个 4 位)
#RRGGBBAA - (每个 8 位)
#RRRGGGBBBAAA - (每个 12 位)
#RRRRGGGGBBBBAAAA - (每个 16 位)
rgb(r,g,b) - (r,g,b 是十进制数)
rgba(r,g,b,a) - (r,g,b,a 是十进制数)
构建一个更复杂的边框接下来让我们用
-frame
命令行参数构建一个更为复杂的边框。首先我们将添加一个和前面的示例中构建的边相同(只是颜色不同)的边框。
convert -mattecolor black -frame 5x5 beach.png beach-frame.png
用参数
-mattcolor
和
-frame
替换了
-bordercolor
和
-border
,不过其余部分与border 命令相同。
图 8. 简单的黑色边
现在我们可以做一些更复杂的事情,添加一些类似于用
-raise
命令得到的阴影。
convert -mattecolor black -frame 5x5+2 beach.png beach-frame2.png
现在是这样了:
图 9. 同一张图片,不过有一些更多的修饰
最后,我们可以添加一些更多的修饰,以达到我期望的最终效果:
convert -mattecolor black -frame 5x5+2+2 beach.png beach-frame3.png
最后我们得到:
图 10. 完成的边框
如果您正在寻找为您的图像制作漂亮的边框的方法,那么我建议您花一些时间来研究
-frame
命令的参数。例如,这里有一些有趣的边框,加在了澳大利亚 King’s Canyon 的岩石图片上。
要深入了解可用的各种不同边框,请参考
convert
的手册页。
convert -mattecolor gray -frame 25x25+0+25 rock.png rock-frame1.png
convert -mattecolor gray -frame 25x25+25+0 rock.png rock-frame2.png
图 11. 两个边框
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0