使用Imagemagick创建一个条形图,其中文本位于图像顶部,另一个文本位于底部

使用Imagemagick创建一个条形图,其中文本位于图像顶部,另一个文本位于底部,imagemagick,Imagemagick,尝试创建一个实心1920X1920透明画布,然后在顶部放置一个1920X420彩色条,其中文本居中,在底部放置一个1920X420彩色条,其中文本居中不同 我现在所做的是,当它被创建时,创建1920X1920透明图像,并将文本条放在顶部,但底部的条不存在 convert -size 1920x1920 xc:"transparent" -size 1920x420 -font Din-Condensed-Bold -pointsize 84 canvas:#800000 -fill black

尝试创建一个实心1920X1920透明画布,然后在顶部放置一个1920X420彩色条,其中文本居中,在底部放置一个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

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


如果您确实在寻找
-底色

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


你说你希望在边缘周围有一些“呼吸空间”,所以我添加了一个进一步的例子。我使用
-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

这真是太棒了。谢谢@Mark。我忘了问,是否可以只在横幅上添加填充物?我可以使用-border来添加填充,但是当我只想在顶部和底部横幅上添加填充时,它会应用到整个图像。如果您愿意,我可以创建一个单独的问题,这样我就可以给您打分了。:)尝试在输出文件名之前添加
-bordercolor蓝色-border x35
。这意味着你只为边框设置了一个高度,没有设置宽度,所以它不会应用到边上。这就把它放在了整个东西的周围。因此,在整个1920x1920空间周围没有蓝色边框。我试着按照上面的例子,在顶部的粉红色横幅周围和底部的粉红色横幅周围各放一个。基本上,我尝试添加文本填充而不是边框。所以也许还有另一种方法。我只是不想让文本一直撞到它所在的盒子的边缘。我必须马上离线。提出一个新问题,举例说明你想要什么,其他人会回答,否则我会稍后再回答。免费提问:-)