使用ImageMagic

时间:2017-03-24 15:40:37

标签: imagemagick imagemagick-convert

img1 img2

我的问题如下:

我有几个.png文件。每个文件都有一个特定颜色的小点。所有文件都具有相同的大小。我的问题是如何将它们叠加在一起,以便不同颜色的斑点将是这些颜色的混合,一种颜色与另一种颜色不完全重叠? -flatten选项组合图像,但示例橙色(img1)颜色将被棕色(img2)覆盖,而我想要一个混合颜色(褐色)点。

我试过了:

convert -evaluate-sequences mean - 没有帮助

convert -layers merge - 没有帮助

composite -blend - 帮助,但只能合并两张图片

感谢您提供任何提示

1 个答案:

答案 0 :(得分:9)

不确定你的图像是什么样的,因为你只提供了2个,而我期待两个输入图像和一个结果!

所以,让我们自己制作两个:

convert -size 200x100 xc:none -fill black -draw "circle 80,50 130,50"  black.png
convert -size 200x100 xc:none -fill orange -draw "circle 120,50 170,50"  orange.png

enter image description here enter image description here

然后我想你想要这个:

convert orange.png black.png -compose overlay -composite result.png

enter image description here

或许你的意思是luminize混合模式:

convert orange.png black.png -compose luminize  -composite result.png

enter image description here

如果您想尝试其他混合模式,可以使用:

identify -list compose

获取所有这些列表。

Atop
Blend
Blur
Bumpmap
ChangeMask
Clear
ColorBurn
ColorDodge
Colorize
CopyAlpha
CopyBlack
CopyBlue
CopyCyan
CopyGreen
Copy
CopyMagenta
CopyRed
CopyYellow
Darken
DarkenIntensity
DivideDst
DivideSrc
Dst
Difference
Displace
Dissolve
Distort
DstAtop
DstIn
DstOut
DstOver
Exclusion
HardLight
HardMix
Hue
In
Intensity
Lighten
LightenIntensity
LinearBurn
LinearDodge
LinearLight
Luminize
Mathematics
MinusDst
MinusSrc
Modulate
ModulusAdd
ModulusSubtract
Multiply
None
Out
Overlay
Over
PegtopLight
PinLight
Plus
Replace
Saturate
Screen
SoftLight
Src
SrcAtop
SrcIn
SrcOut
SrcOver
VividLight
Xor

如果你想全部检查:

for b in $(identify -list compose); do convert -gravity center -pointsize 72 -label "$b" orange.png black.png -compose $b -composite  miff:- ; done | montage -geometry +0+0 miff: montage.png

enter image description here