ImageMagick 将灰度转换为 Alpha、着色、叠加

ImageMagick 将灰度转换为 Alpha、着色、叠加

我有一个 24 位 RGB (不是RGBA)表示条形码的灰度图像,我需要按如下方式处理从命令行:

  • 添加 Alpha 通道
  • 将任何颜色通道转换为 Alpha(无论是哪一个,一开始都是灰度)
  • 反转 Alpha 通道
  • 将图像转换为 CMYK + Alpha
  • 在保留 Alpha 通道的同时,用给定的纯色填充整个图像(例如 100%/87%/11%/1%)
  • 将生成的图像叠加在另一个 CMYK 图像上的特定位置(假设距离模板顶部边缘 123 像素,距离左侧 321 像素)

你明白我在做什么——重点只是将条形码覆盖在模板图像上,除了两个图像位于不同的颜色空间中,而且我碰巧还需要生成的条形码具有特定的颜色。我的工作流程只是一个建议,我并不关心如何从 A 到 B。

哦,还有一件事(不确定是否相关):可以安全地假设我在模板上有一个纯白色的矩形,其中条形码结束。如果我能够使用 Photoshop 批处理命令,我会使用这个假设来丢弃整个 alpha 通道,并且会简单地对原始图像进行着色,并将其与模板上的乘法叠加;不确定这在这种情况下是否可行。

答案1

好吧,经过几个小时的摆弄,我最终得到了一个解决方案:

convert template.tif ( barcode.png barcode.png -negate -alpha off -compose copy_opacity -composite -colorspace CMYK +level-colors "cmyk(100%, 87%, 11%, 1%)" ) -geometry +123+321 -compose over -composite output.tif

相关内容