Imagemagick:使用亮度/叠加遮罩从3个图像中创建1个图像

Imagemagick:使用亮度/叠加遮罩从3个图像中创建1个图像,imagemagick,Imagemagick,我想从3张图片中生成一张图片。其中一幅是背景,一幅是形状遮罩,另一幅是形状的颜色 以下是图片: shape.png (透明背景,中间的白色圆圈,黑色的圆圈,黑色的灰色圆圈) shapecolor.png background.png background.png应该是整个背景。最重要的是形状和所有白色部分(以及灰色部分中的白色部分)应为shapecolor.png的颜色 我使用了简单的单色图像使它更容易,但我在现实中使用了一些纹理^^ 我不知道如何在Imagemagick中解决这个问题,这个

我想从3张图片中生成一张图片。其中一幅是背景,一幅是形状遮罩,另一幅是形状的颜色

以下是图片:

shape.png (透明背景,中间的白色圆圈,黑色的圆圈,黑色的灰色圆圈)

shapecolor.png

background.png

background.png应该是整个背景。最重要的是形状和所有白色部分(以及灰色部分中的白色部分)应为shapecolor.png的颜色

我使用了简单的单色图像使它更容易,但我在现实中使用了一些纹理^^

我不知道如何在Imagemagick中解决这个问题,这个工具非常强大,文档也不那么容易理解。试图解决这个问题3小时,但没有得到结果,应该是这样的:


有人能帮忙吗?

这里有一种在Imagemagick中实现的方法。在第二行中,从omg.png中提取alpha通道并将其保存在mpr:In-memory图像中,然后删除克隆。然后我在最后一步的后面使用mpr:image

convert red.png img.png \
\( +clone -alpha extract -write mpr:alpha +delete \) \
-compose multiply -composite \
green.png +swap mpr:alpha -compose over -composite \
result.png