我尝试将 imageA.png 透明,然后使用imagecopy
函数将其合并到另一个完全透明的图像,但合并后, imageA.png 变成白色背景而不是透明
这是我用过的东西 这是一个独立的文件,用于将图像转换为透明(工作原理):
$img = imagecreatefrompng("imageA.png");
$white = imagecolorallocate($img, 255, 255, 255);
imagecolortransparent($img, $white);
header('Content-Type: image/png');
imagepng($img);
这个是将上面的结果与另一个透明图像合并
$src = imagecreatefrompng("imageA_transparent.png");
$dest = imagecreatefrompng('another_transparent_image.png');
imagesavealpha($dest, true);
imagealphablending($dest, true);
imagecopy($dest, $src, 0, 0, 0, 0, 400, 400);
结果是imageA_transparent.png
变为白色背景,而第二个透明使用的图像实际上是透明的(another_transparent_image.png)
我尝试使用普通的photoshopped透明图像并且工作没有问题
我尝试将imagesavealpha
和imagealphablending
与$src
同时使用,但没有效果
imagecopy
**最后,当我试图打开imageA_transparent.png
(php生成的透明图像),在Photoshop中时,它出现了白色背景和锁定图层,这意味着PHP没有&# 39;正确地将它转换为透明/ png(我相信)