Php Imagick-具有透明度的渐变混合图像
我试图使两个图像(或更多)的梯度混合效果。 但问题是我的图像有透明度 我必须: 我想混合这两张图片,使红色的在左边,蓝色的在右边,具有渐变混合效果 到目前为止,我一直在蓝色的上面应用渐变遮罩,例如: 蓝色图像遮罩 。。。把它放在红色的上面。这非常适用于照片,但当图像具有透明度时,我得到: 所以在这里我们可以看到蓝色图像的渐变混合,但我们可以通过透明的蓝色边框看到红色图像( 我找不到一个能在透明图像上产生良好渐变混合效果的解决方案。我正在使用imagemagick(与PHP一起),但我甚至在Gimp或Photoshop上也找不到解决方案 你知道做那件事的好方法吗 谢谢 附注:资源: 红色图片 蓝色图片 蓝色图片的遮罩(黑白) 蓝色图片的遮罩(透明和白色) 你知道做那件事的好方法吗 我建议将alpha通道与基础图像隔离,然后根据遮罩合成两个图像Php Imagick-具有透明度的渐变混合图像,php,imagemagick,gradient,imagick,blending,Php,Imagemagick,Gradient,Imagick,Blending,我试图使两个图像(或更多)的梯度混合效果。 但问题是我的图像有透明度 我必须: 我想混合这两张图片,使红色的在左边,蓝色的在右边,具有渐变混合效果 到目前为止,我一直在蓝色的上面应用渐变遮罩,例如: 蓝色图像遮罩 。。。把它放在红色的上面。这非常适用于照片,但当图像具有透明度时,我得到: 所以在这里我们可以看到蓝色图像的渐变混合,但我们可以通过透明的蓝色边框看到红色图像( 我找不到一个能在透明图像上产生良好渐变混合效果的解决方案。我正在使用imagemagick(与PHP一起),但我甚至在
# 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
convert base_out.png mask_out.png -alpha Off \
-compose CopyOpacity -composite output.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
convert base_out.png mask_out.png -alpha Off \
-compose CopyOpacity -composite output.png
请提供没有棋盘底图的实际图像好吗?当然可以!我编辑了这个问题!