我正在使用Image Magick将暗淡的标题叠加到图像上,IM会自动选择最佳的字体大小:
convert -background '#0008' -fill white -geometry +0+330 -size 370x60 caption:$title $image +swap -composite $imageOutput
我的问题是文本周围没有足够的空间,我想添加一些“填充”。我通常使用-border选项执行此操作,但如果我将此添加到上面的命令中,则标题不再变暗。
你有解决方案在文本周围留出足够的空间来创建一个暗淡的标题吗?
答案 0 :(得分:2)
我有一个解决方案,但它有点像kludge,因为我无法扩展或接近半透明背景。最后,我只是在黑色背景上构建了标题并用黑色边框,然后我调整了alpha通道:
convert -background black -bordercolor black -fill white \
-size 370x60 caption:"This is the title" \
-trim -border 20 -channel A -fx '(lightness/2)+.5' \
-geometry +0+200 background.gif +swap -composite result.png
唯一棘手的部分是-channel A -fx ...
。第一部分意味着我们只影响/修改alpha / opacity通道。 0.5
表示所有像素至少变为50%不透明,而(lightness/2)
表示绝对白色像素,即您的字母(亮度为1)变得完全不透明,因为{{1} }总计为一。这一点是在某种程度上保持字母边缘周围的抗锯齿。