I need to change background color of PNG picture ( https://chart.googleapis.com/chart?cht=lxy&chd=e:AACIERGZIiKqMzO7RETMVVXdZmbud3f.iIkQmZohqqsyu7xDzM1U3d5l7u92,hhiIivfFmZZmcCY.YYZmTgdQjWd3kk6g880asfu7r4sf4E22tGtGsfzzmZj9&chds=0.0,1.0&chs=105x75&chma=1,0,1,1&chco =42b6c9ff&chls=2.5,1.0,0.0&chxl=0:%7C%7C1:%7C%7C2:%7C ) 到透明。我使用以下在我看来是正确的代码:
$picture = imagecreatefrompng("https://chart.googleapis.com/chart?cht=lxy&chd=e:AACIERGZIiKqMzO7RETMVVXdZmbud3f.iIkQmZohqqsyu7xDzM1U3d5l7u92,hhiIivfFmZZmcCY.YYZmTgdQjWd3kk6g880asfu7r4sf4E22tGtGsfzzmZj9&chds=0.0,1.0&chs=105x75&chma=1,0,1,1&chco=42b6c9ff&chls=2.5,1.0,0.0&chxl=0:%7C%7C1:%7C%7C2:%7C");
$img_w = imagesx($picture);
$img_h = imagesy($picture);
imagealphablending($picture, false);
imagesavealpha($picture, true);
$rgb = imagecolorexact ($picture, 255,255,255);//imagecolorat($picture, 50, 50);
imagecolortransparent($picture, $rgb);
imagepng($picture, '../images/chart2.png');
imagedestroy($picture);
我也曾经imagecolorat
检测过准确的颜色,但结果是一样的——它不起作用(背景是白色的(不透明))!我的错误是什么?
可能重复:PHP:如何使图像中的绿色区域(背景)透明? PHP中的 imagecolortransparent不起作用