【问题标题】:ImageMagick - Alpha Mask on transparent backgroundImageMagick - 透明背景上的 Alpha 蒙版
【发布时间】:2019-10-11 12:06:31
【问题描述】:

我想使用 Imagemagick 将一些 png 合成到一个 png 上。

其中一张图片 (b_0_1.png) 是蒙版。我需要使用添加剂组合物来应用它。

但是结果中的背景有问题,应该是透明的,但是有一个黑色的方块。

这是我的命令:

magick -size 256x256 canvas:transparent \
  img/a_0_0.png -geometry +111+64 -compose over -composite \
  img/b_0_1.png -geometry +94+48 -compose plus -composite \
  img/c_0_0.png -geometry +108+88 -compose over -composite \
  img/d_0_0.png -geometry +102+62 -compose over -composite \
png32:result.png

结果:https://picr.ws/i/6WT

黑色区域应该是透明的。

图片:http://s000.tinyupload.com/index.php?file_id=91925640425537122879

【问题讨论】:

  • 如果以下任何回复回答了您的问题,您应该将其标记为已接受。如果您仍然需要更详细的帮助或指点,您应该在已经提供的回复中添加 cmets。

标签: bash image-processing imagemagick blend-mode


【解决方案1】:

在 ImageMagick 中,你可以这样做

magick -size 256x256 canvas:transparent \
-channel rgb \
img/a_0_0.png -geometry +111+64 -compose over -composite \
img/b_0_1.png -geometry +94+48 -compose plus -composite \
img/c_0_0.png -geometry +108+88 -compose over -composite \
img/d_0_0.png -geometry +102+62 -compose over -composite \
png32:result.png


补充: 我认为这就是您想要的评论。

magick -size 256x256 canvas:transparent \
img/a_0_0.png -geometry +111+64 -compose over -composite \
\( img/b_0_1.png -alpha opaque -alpha copy \) -geometry +94+48 -compose plus -composite \
img/c_0_0.png -geometry +108+88 -compose over -composite \
img/d_0_0.png -geometry +102+62 -compose over -composite \
png32:result.png


【讨论】:

  • 它不完全是它应该的样子。如果您仔细观察,玻璃周围会发出小光,使用您的命令将其移除。它真的需要完美。每个细节都很重要。
  • 查看我对上面帖子的补充。
【解决方案2】:

使用 ImageMagick 7,您可以使用这样的命令...

magick -background none \
   \( -page +111+64 a_0_0.png \) \
   \( -page +94+48 b_0_1.png -alpha copy -set compose plus \) \
   \( -page +108+88 c_0_0.png \) \
   \( -page +102+62 d_0_0.png \) \
   -page 256x256 -flatten png32:result.png

这将在每个子图像的括号内设置分页几何。

在带有掩码图像“b_0_1.png”的括号内,“-alpha copy”去除了黑色,“-set compose”将组合方法“plus”应用于该单独的图像。

然后页面大小设置为 256x256,所有部分都被展平并根据其页面几何形状定位。由于背景设置为“无”,因此在子图像展平时会创建透明画布。

compose方法“over”是默认的,所以它用于没有设置compose方法的图像。使用 compose 方法“plus”对蒙版图像进行展平。

我在 bash 上使用 IM6 和在 Windows 上使用 IM7 对此进行了测试。对于这个 IM7 示例,我将 IM6 bash “convert”更改为“magick”。它应该与任一版本完全相同。

【讨论】:

    猜你喜欢
    • 2011-11-27
    • 2011-12-04
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2014-11-10
    • 2012-08-24
    相关资源
    最近更新 更多