可能重复:
从图像中删除白色背景并使其透明
我目前有一个从图像中删除白色背景的代码,它看起来像这样:
function transparent_background($filename, $color)
{
$img = imagecreatefrompng($_SERVER['DOCUMENT_ROOT'].'/'.$filename);
$colors = explode(',', $color);
$remove = imagecolorallocate($img, $colors[0], $colors[1], $colors[2]);
imagecolortransparent($img, $remove);
imagepng($img, $_SERVER['DOCUMENT_ROOT'].'/'.$filename);
}
transparent_background('test.png', '255,255,255');
但是,一旦出口,边缘就非常粗糙。这就是它的样子(请注意,这只是我的图像的一部分):
http://img211.imageshack.us/img211/97/2125c773e32c432b91e1127.png
我在该图像后面添加了黑色背景以更好地显示边缘。那么有没有办法可以在函数中添加一条线或编辑函数以使边缘更平滑/抗锯齿?谢谢!