ImageMagick: 文本如何自适应透明框内

3
  1. 我有一张名为funny-santa.jpg的图片(可以在Google Images中搜索,非常可爱)
  2. 我已经成功将一个黄色方框画到了funny-santa.jpg上
  3. 我能够在这个黄色方框中输入文字。(“圣诞快乐,爸妈”)
  4. 我该如何以编程方式将文本自适应调整到我创建的黄色方框中?
  5. 是否可能将下面的文本自适应调整到预定义的空间中?

以下是将一个透明的黄色方框绘制到现有图片上的代码。我已经在文档中添加了文本“圣诞快乐,爸妈”。挑战在于:如何让我的“圣诞快乐,爸妈”自适应地显示在我刚刚创建的方框中?

  1. 如果我的文本改变成“我爱你,爸妈”,那么任何基于文本尺寸的硬编码值都必须重新完成。

    convert funny-santa.jpg -strokewidth 0 -fill "rgba( 255, 215, 0 , 0.5 )" -draw "rectangle 0,0 1024,350" -pointsize 30 -fill black -annotate +67+60 'Merry Christmas Mom and Dad' output.jpg

2个回答

7
您还可以参考我15个月前的这个答案

如果您使用正确的方法,文本将自动适应。让我们使用一个宽度为270像素,高度为70像素的框。以下是我使用的命令,首先是一个简短的文本:

mytext="Cheers\!"

convert                            \
  -background '#0008'              \
  -gravity center                  \
  -fill white                      \
  -size 260x70 caption:"${mytext}" \
   funny-santa.jpg                 \
  +swap                            \
  -gravity south                   \
  -composite                       \
   funny-santa---1.jpg 

这里是结果(原始图片在顶部,带有文本的图片在底部):

如果您想将更长的文本放入同一框中,只需使用更长的文本即可 :-)
请看这里:
mytext="Dear Kids\! One day you'll learn everything about Santa Claus. On that day, please also remember what they told you about Jesus."

convert                            \
  -background '#0008'              \
  -gravity center                  \
  -fill white                      \
  -size 260x70 caption:"${mytext}" \
   funny-santa.jpg                 \
  +swap                            \
  -gravity south                   \
  -composite                       \
   funny-santa---2.jpg 


0

convert -size 1024x300 -background rgba(0,255,255,0.25) -fill black -gravity center caption:'Merry Xmas Mom' cap.png

composite -geometry +0+0 cap.png funny-santa.jpg funny-santa-vic.jpg

将大小为1024x300的cap.png转换为带有背景rgba(0,255,255,0.25)和黑色填充的中心标题‘Merry Xmas Mom’。

合成-cap.png,funny-santa.jpg,funny-santa-vic.jpg,并对几何位置进行调整。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接