如何使用imagemagick对文本进行着色?
我想知道如何在jpeg的底部添加阴影版权文本。目前我只使用:如何使用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" 这样做的问题是,当背景很亮时,文本就会消失。 我知道我可以添加一个类似 -
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是多余的,可以删除。