我有两个图像。我把imageA放在imageB上。但是,这导致底部图像(imageB)的颜色不显示。而是imageA的透明部分覆盖了imageB。
$dest = imagecreatefrompng(6.png'); (96x96)
$src = imagecreatefrompng(5.png');
imagealphablending($dest, true);
imagesavealpha($dest, true);
imagealphablending($src, true);
imagesavealpha($src, true);
imagecopy($dest, $src, 10, 30, 0, 0, 40, 40);
ob_start();
imagepng($dest);
$imgswap = ob_get_clean();
imagedestroy($dest);
https://i.imgur.com/S3lSQDl.png //此处是img(我没有足够的声誉来直接链接)
如您所见,透明物体(为清晰起见,在此示例中为白色像素)正飞过marios的脸。有什么想法吗?
答案 0 :(得分:0)
从文档(https://www.php.net/manual/en/function.imagecolortransparent.php):“仅使用imagecopymerge()和真彩色图像复制透明度,而不使用imagecopy()或调色板图像复制透明度。”
尝试:https://www.php.net/manual/en/function.imagecopymerge.php,即使它在评论中说它不支持aplha。