2017-07-24 58 views
2

我正在使用imagemagick为图像添加边框。如何使用imagemagick将一些内边框添加到图像中?

我可以用下面的代码添加边框:

convert source.jpg -shave 10x10 -bordercolor red -border 2 final.jpg 

上面的代码生成此图片:

enter image description here

不过,我需要生成是这样的:

enter image description here

如果您查看第二张图片中的红色边框,您会看到该图片与当前使用imagemagick创建的第一张图片之间的区别。

请问有人能提供这方面的建议吗?

在此先感谢。

回答

4

你不说你正在使用的是什么版本,或者代码是什么。

convert wizard: -stroke red -strokewidth 2 -fill transparent -draw "roundrectangle 10,10 470,627 10,10" output.png 

如果使用7版本,你可以计算命令中的尺寸,否则你需要获得图像的尺寸,执行计算并将其输入到具有可变的命令。

3

一个选项是绘制一个矩形,但克隆,边框和合成图像可能更容易。

convert wizard: -negate \ 
    \(+clone -shave 10x10 -bordercolor red -border 2 -geometry +8+8 \) \ 
    -compose atop -composite output.png 

output

取反增加了知名度。

+0

有任何方式给半径的红色边界? – user2056633

+1

请参阅bozo的答案,画一个圆形的矩形来代替一个简单的矩形。见http://www.imagemagick.org/Usage/draw/#primitives – fmw42

2

我得到你想从图像的边缘,在这种情况下,你应该使用的版本7 magick命令镶嵌边境定制的插图,让ImageMagick的计算出它的位置的印象。

所以,让我们说你想要的边界50个像素从每个边缘:

inset=50 
magick burger.jpg -strokewidth 5 -fill none -stroke red \ 
    -draw "roundrectangle $inset,$inset %[fx:w-$inset],%[fx:h-$inset] 10,10" result.png 

enter image description here

然后,如果你改变:

inset=10 

enter image description here

相关问题