构建一个更复杂的边框
接下来让我们用 -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
现在是这样了:
最后,我们可以添加一些更多的修饰,以达到我期望的最终效果:
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. 两个边框
同时处理多个图像
在我的上一篇文章中,我已经给出了同时转换多个图像的代码。正如一些人所指出的,我给出的代码并不是最好的方法。
下面是我以前给出的代码:
清单 1. 生成当前目录下所有 JPEG 图片的缩略图
for img in `ls *.jpg` do convert -sample 25%x25% $img thumb-$img done |
现在已经证明这是不好的 bash 风格,因为它没有很好地处理文件名中的空格(每个词将被认为是一个单独的文件名)。取而代之,一个更好的方法是:
清单 2. 生成当前目录下所有 JPEG 图片的缩略图,具有更好的 bash 风格
for img in *.jpg do convert -sample 25%x25% $img thumb-$img done |