如何使用imagemagick对文本进行着色?

如何使用imagemagick对文本进行着色?,imagemagick,Imagemagick,我想知道如何在jpeg的底部添加阴影版权文本。目前我只使用: convert input.jpg -font /usr/share/fonts/truetype/pointfree/pointfree.ttf -pointsize 15 -fill white -gravity SouthEast -strokewidth 3 -annotate +0+5 " @blabla.com " "output.jpg" 这样做的问题是,当背景很亮时,文本就会消失。 我知道我可以添加一个类似 -

我想知道如何在jpeg的底部添加阴影版权文本。目前我只使用:

convert input.jpg  -font /usr/share/fonts/truetype/pointfree/pointfree.ttf -pointsize 15 -fill white -gravity SouthEast -strokewidth 3 -annotate +0+5 "  @blabla.com  " "output.jpg"
这样做的问题是,当背景很亮时,文本就会消失。 我知道我可以添加一个类似

-undercolor '#00000080'
但我觉得这相当突兀,所以寻找一个更好的解决方案,使文本的视觉上更独立于背景色。注意:图像大小不同,因此我无法硬编码文本的协调

试试这个:

convert input.jpg  -font /usr/share/fonts/truetype/pointfree/pointfree.ttf -pointsize 15 -gravity SouthEast -strokewidth 3 -fill black -annotate +2+7 "  @blabla.com  "-fill white -annotate +0+5 "  @blabla.com  " "output.jpg"
在imagemagick论坛上有一篇来自amember的帖子,该帖子考虑到了文本下的颜色,并生成了一个白色或黑色水印。前几天我在找它,却找不到。这是一个来自内存的批处理脚本

我不得不在这里添加评论,因为我在尝试添加评论时收到了一些关于通知的消息,我不理解这些消息


很抱歉,我在这里漏掉了一个空格“@blabla.com”-fill应该是“@blabla.com”-fill命令行很长,如果您将其拆分为不同的行,将更易于使用。

好的,最后我找到了一个很好的批处理解决方案:

for FILE in *.jpg; do convert $FILE -gravity southeast -stroke '#000C' -strokewidth 2 -annotate 0 'blabla.com' -stroke  none   -fill white    -annotate 0 'blabla.com' $FILE; done

它最终是完全黑色的文本,没有任何阴影。我在这里漏掉了一个空格“blabla.com”-fill应该是“blabla.com”-fill命令行很长,如果您将其拆分为不同的行,它将更易于使用。是代码中的@阻止了我的评论!此外,-strokewidth 3是多余的,可以删除。