我使用imagefill()来改变图像的背景颜色。但在这样做时,其他区域不会受到影响,将其颜色更改为黑色。
$image = imagecreatefrompng("sample.png");
$background = imagecolorallocate($image, 255, 0,0);
imagefill($image, 0,0, $background);
header("content-type: image/png");
imagepng($image,"sample.png");
这是我的代码。任何人都可以告诉我这是怎么回事?
答案 0 :(得分:1)
尝试设置混合模式并保存alpha
imagealphablending($image, false);
imagesavealpha($image, true);
http://www.php.net/manual/en/function.imagealphablending.php
http://www.php.net/manual/en/function.imagesavealpha.php
答案 1 :(得分:0)
试试此代码ref
$color = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $color );