Imagemagick:如何在图像下方添加文本边框?

时间:2017-12-30 21:46:26

标签: imagemagick imagemagick-convert

我需要在照片周围添加边框,并在照片下方添加文字。但是,到目前为止,我可以添加边框或添加文本,但它们不起作用。

original photo

我的意思是,附加文字:

>>

这会在图片的右下方添加带有文字的白条:

Photo with text

并添加边框:

convert photo.jpg -background White label:"A nice memory" -background White -gravity east -append result.jpg

enter image description here

它在照片周围添加了漂亮的绿色边框。但是,如果我想要他们在一起:

convert photo.jpg -bordercolor Green -border 5%x10% result.jpg

enter image description here

它首先添加一个边框,然后在下边框下方添加一条带有文字的额外条带。我想我必须明确告诉它有边框和文字在一起。这可能吗?

预期:

Expected result

重要:我希望文字与照片正确对齐,就好像没有边框一样)

谢谢!

2 个答案:

答案 0 :(得分:1)

convert input.jpg -bordercolor Green -border 5%x10% -gravity southeast -annotate +0+0 "Some text" result.jpg

答案 1 :(得分:0)

在Imagemagick 6中,您可以按照以下方式执行此操作(unix语法):

infile="logo:"
offx=`convert $infile -format "%[fx:5*w/100]" info:`
offy=`convert $infile -format "%[fx:2.5*w/100]" info:`
convert $infile -bordercolor Green -border 5%x10% -font Arial -pointsize 18 -gravity southeast -annotate +${offx}+${offy} "Some text" result.jpg


在Imagemagick 7中,您可以这样做:

magick logo: -bordercolor Green -border 5%x10% -font Arial -pointsize 18 -gravity southeast -annotate +%[fx:5*w/100]+%[fx:(10/4)*h/100] "Some text" result.jpg


可能需要针对品脱大小调整偏移量(1/4值),以使文本在所提供的空间中垂直居中。

图像logo:是一个内部Imagemagick图像,需要冒号。