【问题标题】:Image magick padding font图像魔法填充字体
【发布时间】:2017-05-09 09:54:55
【问题描述】:

我正在尝试在图像上放置具有透明背景的标签,这可行,但是填充存在问题。文本太靠近透明背景的顶部。我想为它添加一些填充,但我似乎无法让它工作。我知道我可以用 draw 作为背景来代替,但是标签的长度一直在变化。我想我可以根据字符长度估计我需要的大小,但是图像魔术有没有更简单的方法?

我试图搜索一个选项来改变行高或其他东西,但只是找到了单词、字符或行之间的间距。

有什么想法吗?

Convert input.jpg -fill white -undercolor 'rgba(0, 0, 0, .75)' -font Helvetica -pointsize 48 -gravity south -annotate +0+35 " Blah blah blah " output.jpg

【问题讨论】:

    标签: imagemagick


    【解决方案1】:

    您可以使用label 创建标签,然后在顶部使用splice 一些额外的行,然后将其合成到您的图像上。它有点难看,但不是太复杂。

    convert -background 'rgba(0, 0, 0, .75)'          \
            -fill white -font Helvetica -pointsize 48 \
            label:" Blah blah blah " -splice 0x10     \
            input.jpg                                 \
            +swap -gravity south                      \
            -geometry +0+10 -composite result.jpg
    

    或者您可以反过来保留元数据:

    convert input.jpg                                      \
           \( -background 'rgba(0, 0, 0, .75)' -fill white \
              -font Helvetica -pointsize 48                \
              label:" Blah blah blah " -splice 0x10        \
           \) -gravity south -geometry +0+10 -composite result.jpg
    

    【讨论】:

    • 啊它的拼接!谢谢,这有很大帮助
    • 很高兴!很高兴能提供帮助。
    【解决方案2】:

    这也可以是在透明文本图像的所有侧面添加填充的解决方案

    用途:

    -gravity southeast -splice 20x20 -gravity northwest -splice 20x20

    这个解决方案对我很有效

    没有填充:

    convert -background "rgba(0, 255 ,0, 0.7)" \ -font "Lobster-Regular.ttf" -pointsize "60" \ -fill "#FFFFFF" label:"PROMOTE ANYTHING" \ heading.png

    带内边距:

    convert -background "rgba(0, 255 ,0, 0.7)" \ -font "Lobster-Regular.ttf" -pointsize "60" \ -fill "#FFFFFF" label:"PROMOTE ANYTHING" \ -gravity southeast -splice 20x20 -gravity northwest -splice 20x20 \ heading.png

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      • 2013-11-05
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多