使用Imagemagick创建一个栏,在图像的顶部带有文本,在底部的另一个文本栏

时间:2019-03-05 06:17:34

标签: imagemagick

尝试创建坚实的1920X1920透明画布,然后在顶部居中放置1920X420彩色条,在底部放置不同居中文本。

我现在要做的是创建1920X1920透明图像,并将带有文本的栏放在顶部,但是底部的栏不存在。

convert -size 1920x1920 xc:"transparent" -size 1920x420 -font 
Din-Condensed-Bold -pointsize 84 canvas:#800000 -fill black -
gravity center  caption:"TEXT FOR THE BOTTOM"   -gravity south  
-composite -size 1920x420 -font Din-Condensed-Bold -pointsize 84 
canvas:#800000 -fill black -gravity center  caption:"TEXT FOR THE 
TOP"   -gravity north  -composite newfile.png

1 个答案:

答案 0 :(得分:2)

几件事...

主要问题是您使用-background而非canvas:设置了标签的背景色。

请注意,-font-size-pointsize-fill设置,因此它们只需设置一次,然后保持设置状态直到更改为止,因此您无需继续重复它们。

您的命令将变成这样:

convert -size 1920x1920 xc:yellow \
    -size 1920x420 -font "AppleChancery"  -pointsize 84 -background "#800000" -fill black \
    -gravity center  caption:"TEXT FOR THE BOTTOM" -gravity south -composite         \
    -gravity center  caption:"TEXT FOR THE TOP"    -gravity north -composite result.png

enter image description here

非常西班牙语,您不觉得吗? :-)


如果您实际上正在寻找-undercolor

convert -size 1920x1920 xc:yellow \
    -size 1920x420 -font "AppleChancery"  -pointsize 84 -background magenta -undercolor cyan -fill black \
    -gravity center  caption:"TEXT FOR THE BOTTOM" -gravity south -composite         \
    -gravity center  caption:"TEXT FOR THE TOP"    -gravity north -composite result.png

enter image description here


您说您想在边缘添加一些“呼吸空间” ,所以我添加了另一个示例。我使红色和黄色框比洋红色背景略小,并使用-geometry将顶部的一个像素从顶部定位5个像素,从左侧将5个像素定位。同样,我将“重力”设置为“西南”,并将黄色框定位在距右边缘2个像素和距底部25个像素的位置:

convert -size 100x100 xc:magenta -size 90x20               \
   -gravity northwest xc:red    -geometry +5+5  -composite \
   -gravity southeast xc:yellow -geometry +2+25 -composite result.png

enter image description here