使用Imagemagick创建一个条形图,其中文本位于图像顶部,另一个文本位于底部
尝试创建一个实心1920X1920透明画布,然后在顶部放置一个1920X420彩色条,其中文本居中,在底部放置一个1920X420彩色条,其中文本居中不同 我现在所做的是,当它被创建时,创建1920X1920透明图像,并将文本条放在顶部,但底部的条不存在使用Imagemagick创建一个条形图,其中文本位于图像顶部,另一个文本位于底部,imagemagick,Imagemagick,尝试创建一个实心1920X1920透明画布,然后在顶部放置一个1920X420彩色条,其中文本居中,在底部放置一个1920X420彩色条,其中文本居中不同 我现在所做的是,当它被创建时,创建1920X1920透明图像,并将文本条放在顶部,但底部的条不存在 convert -size 1920x1920 xc:"transparent" -size 1920x420 -font Din-Condensed-Bold -pointsize 84 canvas:#800000 -fill black
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空间周围没有蓝色边框。我试着按照上面的例子,在顶部的粉红色横幅周围和底部的粉红色横幅周围各放一个。基本上,我尝试添加文本填充而不是边框。所以也许还有另一种方法。我只是不想让文本一直撞到它所在的盒子的边缘。我必须马上离线。提出一个新问题,举例说明你想要什么,其他人会回答,否则我会稍后再回答。免费提问:-)