我在imagick(PHP)上工作,我想在图像上应用蒙版。基本上,它工作正常。但是当它必须处理主图像的透明性时,它不能按预期工作。让我解释一下。
源图像(SD)
蒙版图像(TPL)
结果图像:((目标)
预期结果
您可以在图像上看到源的透明度不在结果上...
所以,这是我的代码:
$sd = 'tiger.png';
$tpl = 'tpl.png';
$dest = 'tiger_cut.png';
$base = new Imagick($sd);
$mask = new Imagick($tpl);
$base->compositeImage($mask, Imagick::COMPOSITE_COPYOPACITY, 0, 0, Imagick::CHANNEL_ALPHA);
$base->writeImage($dest);
我在CompositeImage()上尝试了多个选项,但是...找不到正确的选项。
在此先感谢您的帮助:)
答案 0 :(得分:0)
这是解决方法:
$sd = 'tiger.png';
$tpl = 'tpl.png';
$dest = 'tiger_cut.png';
$base = new Imagick($sd);
$mask = new Imagick($tpl);
$base->compositeImage($mask, Imagick::COMPOSITE_DSTIN, 0, 0, Imagick::CHANNEL_ALPHA);
$base->writeImage($dest);