【问题标题】:ImageMagick convert - Label text over alpha backgroundImageMagick 转换 - 在 alpha 背景上添加标签文本
【发布时间】:2015-07-06 03:09:29
【问题描述】:

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

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) 的白色背景效果很好,但是当标签文本渲染到图像中时,字符背景中出现了可怕的灰色。这是一个示例,只需将初始 convert 运行为 PNG。

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

【问题讨论】:

  • convert -version 为您报告哪个版本?
  • 我认为您的方法没有任何问题。 (我冒昧地重新格式化您的命令,使其跨越多行以避免水平滚动。希望我正确地记住了此所需的cmd.exe 语法......否则只需恢复和/或更正它!)
  • 尝试在label: 之前添加-matte 运算符。我一半记得之前关于旧版本 IM 上的字体和遮罩通道的帖子。
  • 我在 6.9.1-2 Q16 on x86 (2015-04-14),今天刚下载。

标签: imagemagick png imagemagick-convert alpha-transparency


【解决方案1】:

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

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

产生以下图像:

【讨论】:

  • 我将在 x86 上尝试相同的版本,看看它是否有效。
猜你喜欢
  • 2016-03-14
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
  • 2011-07-31
  • 1970-01-01
相关资源
最近更新 更多