我正在尝试制作两个图像(或更多)的渐变混合效果。 但问题是我的图像具有透明度。
我希望将这两张图片混合在一起,使红色图片位于左侧,蓝色图片位于右侧,并具有渐变混合效果。
蓝色图像蒙版
......把它放在红色的上面。这适用于照片,但是当图像具有透明度时,我得到了这个:
所以在这里我们可以看到蓝色图像的渐变混合,但我们可以通过透明的蓝色边框看到红色的图像。 :(
我无法找到一种解决方案来制作适用于透明图像的良好渐变混合效果。我正在使用imagemagick(使用PHP),但即使在Gimp或Photoshop上也找不到解决方案......
你知道一个很好的方法吗?
谢谢!
答案 0 :(得分:2)
你知道一个很好的方法吗?
我建议从基本图像中隔离alpha通道,然后将两个图像与蒙版合成。
# Disable alpha channel, and composite without alpha
convert red.png -alpha off red_base.png
convert blue.png -alpha off blue_base.png
convert blue_base.png black_mask.png -alpha Off \
-compose CopyOpacity -composite \
red_base.png -compose DstOver -composite base_out.png
使用提取的Alpha通道重复。
convert red.png -alpha extract red_mask.png
convert blue.png -alpha extract blue_mask.png
convert blue_mask.png black_mask.png -alpha Off \
-compose CopyOpacity -composite \
red_mask.png -compose DstOver -composite mask_out.png
最后将生成的蒙版应用为新的Alpha通道。
convert base_out.png mask_out.png -alpha Off \
-compose CopyOpacity -composite output.png