使用 Imagemagick 在图像顶部创建一个文本栏,在底部创建一个不同的文本栏

Use Imagemagick to create a bar with text at top of image and a different text bar at the bottom

尝试创建一个纯色的 1920X1920 透明 canvas,然后在顶部放置一个 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

一些事情...

主要问题是您使用 -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

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


如果您实际上是在寻找 -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


你说你想要一些 "breathing space" 的边缘,所以我要添加一个进一步的例子。我使红色和黄色框略小于洋红色背景,并使用 -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