我正在尝试使用透明胶片创建PNG图像的轮廓。 这是我的代码
//file that i am working with
$file='http://www.google.com/mapfiles/turkey.png';
$im =imagecreatefrompng($file);
imagealphablending($im, false);
imagesavealpha($im, true);
$imw =imagesx($im);
$imh =imagesy($im);
//turkey body color
$bodycolor=imagecolorallocatealpha($im, 144, 144, 144, 50);
//imageholder
$imnew =imagecreatetruecolor($imh, $imh);
imagealphablending($imnew, false);
imagesavealpha($imnew, true);
$transparent_color=imagecolorallocatealpha($imnew, 0, 0, 0, 127);
imagecolortransparent($imnew, $transparent_color);
imagefilledrectangle($imnew, 0, 0, $imh, $imh, $transparent_color);
for ($i=0; $i > 24;
//all not transparent pixels are copied to imageholder
if ($alpha != 127)
{
imagesetpixel($imnew, $i, $j, $bodycolor);
}
}
}
//blur filter
imagefilter($imnew, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($imnew, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($imnew, IMG_FILTER_GAUSSIAN_BLUR);
header ("Content-type: image/png");
imagepng ($imnew);
imagedestroy ($imnew);
?>
所以,我需要得到火鸡的轮廓,边缘模糊。我需要边缘在“外面”模糊,所以像素离边缘越远,相同的rbg越透明。而且imagefilter也提升了火鸡:)
答案 0 :(得分:0)
对于像这样的更复杂的图像处理,我强烈建议您使用ImageMagick:http://www.imagemagick.org
安装到您的服务器非常简单,速度非常快,而且文档很好。他们对你所谈论的内容有一个完整的部分:http://www.imagemagick.org/Usage/channels/