ImageMagick转换 - 在alpha背景的标签文本

时间:2015-04-27 15:14:20

标签: imagemagick png imagemagick-convert alpha-transparency

我试图在大批PNG图像上放置版权信息。我想在半透明的白色背景上将信息放在黑色文字的右下角。这是我的Windows命令行脚本,它循环遍历图像并运行ImageMagick convert & 复合管道:

for %%f in (*.png) do (
  convert -background "#FFFFFF80" -font verdana -fill black ^
           label:" (c) 2015 My Company "  miff:-            ^
  | composite -compress zip -gravity SouthEast              ^
              -geometry +0+0 - "%%f" "credited\%%f.png" )

50%(0x80)不透明度的白色背景效果很好,但是当标签文字渲染到图像中时,角色背景中会出现可怕的灰色。以下是将初始转换运行到PNG中的示例。

enter image description here

这是一个错误还是我错过了IM alpha频道管理中的重要内容?

1 个答案:

答案 0 :(得分:2)

在OSX上使用版本6.9.0-0 Q16 x86_64 2014-12-06运行这些命令:

convert -background '#ffffff80' -font verdana \
        -size 360 -fill black label:"Hello World" hw1.png

convert -background '#00000080' -font verdana \
        -size 360 -fill black label:"Hello World" hw2.png

convert -background '#ff000080' -font verdana \
        -size 360 -fill black label:"Hello World" hw3.png

composite hw1.png -geometry +100+10 hw2.png comp12.png
composite hw1.png -geometry +100+10 hw3.png comp13.png

生成以下图像:

"Hello World"-image 1

"Hello World"-image 2

"Hello World"-image 3

hw1 + hw2 composite

hw2 + hw3 composite