首页 文章

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

提问于
浏览 317
3

我想在半透明的白色背景上将消息放在黑色文本的右下角 . 这是我的Windows命令行脚本,它循环遍历图像并运行ImageMagick转换和复合管道:

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 回答

  • 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

相关问题