1

我正在构建一种系统,它只是从其他图像创建动态图像。我使用: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但是,它根本没有效果。

4

1 回答 1

0

这样做的原因是您正在丢弃 Alpha 层。通过这样做,图像原本不可见的部分现在变得可见。

相反,您想要做的是加载带有 alpha 的原始 PNG 图像,然后使用imagecopymerged.

于 2009-12-28T14:32:40.673 回答