在指定的框中使文本垂直居中,而不是水平居中

时间:2019-01-03 17:28:39

标签: bash imagemagick image-manipulation imagemagick-convert

我正在尝试从文本生成图像。要求是:文本左对齐,垂直居中,尽可能大,最大。分辨率1920x1080。

这就是我所拥有的:

convert -background white -fill black \
-font "fonts/DejaVuSansMono.ttf" \
-size 1920x1080 label:'Text \nloooooooooooooooooooooooooong text\nand another' \
-gravity West image.png

它工作得很好,但是它并没有垂直居中。

看起来像这样: https://imgur.com/rJLxJO2.png

但是我希望它看起来像这样:https://imgur.com/IVrydty.png

我可以使用-size x1080,并使用第二个命令将该图像放到空白白色图像的中心,但这不能确保它不太宽。

1 个答案:

答案 0 :(得分:1)

在创建标签之前尝试设置重力。...

convert -background white -fill black -size 1920x1080 \
   -gravity west \
   label:'Text \nloooooooooooooooooooooooooong text\nand another' \
   image.png

编辑添加:当应该影响某个设置的特定操作时,在几乎每种情况下,使用ImageMagick时,该设置都应位于该操作之前。在这方面,IM版本6有点宽容,但是与您的示例一样,命令的顺序通常很重要。 IM版本7更加严格。