我正在构建一种系统,它只是从其他图像创建动态图像。我使用:imagecreatefromstring(file_get_contents("clown_avatar.png"));
来创建图像并成功输出;但是,它会混淆透明区域的所有颜色。
查看原始图片:
而且,这是PHP文件的结果:
这是源,只有几行:
<?php
$im = imagecreatefromstring(file_get_contents("clown_avatar.png"));
//$bg = imagecolorallocate($im,0,0,0); doesn't effect
Header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
我尝试使用imagecolorallocate
添加背景颜色;但是,它根本没有效果。
答案 0 :(得分:0)
原因是您要丢弃alpha图层。通过这样做,图像的其他不可见部分现在变得可见。
您想要做的是使用alpha加载原始PNG图像,然后使用imagecopymerged
将其复制到所需图像(仅为背景颜色)。