我需要使用PHP和GD进行模糊处理的图像的某个区域,我目前使用下面的代码:PHP/GD高斯模糊效果
for ($x = $_GET['x1']; $x < $_GET['x2']; $x += $pixel)
{
for ($y = $_GET['y1']; $y < $_GET['y2']; $y += $pixel)
{
ImageFilledRectangle($image, $x, $y, $x + $pixel - 1, $y + $pixel - 1, ImageColorAt($image, $x, $y));
}
}
这基本上替换$的平方选定区域像素像素。我要完成某种模糊的(高斯最好)的效果,我知道我可以使用此ImageFilter()函数:
ImageFilter($image, IMG_FILTER_GAUSSIAN_BLUR);
但它模糊了整个画布,我的问题是,我只想模糊特定区。
事实上,这是一个很好的解决办法,但是我还是想知道如何手动创建一个模糊效果。 – 2009-08-08 13:48:43
你可以在wikipedia上查看:http://en.wikipedia.org/wiki/Gaussian_blur#Implementation或者查看StackOverflow上的类似帖子:http://stackoverflow.com/questions/98359/fastest-gaussian-blur-实现,但我会建议使用内置库。这些库使用编译算法来加速进程。 – Scharrels 2009-08-08 14:09:47
我接受了你给我的建议,我必须在选定区域循环ImageFilter 128来混淆它,也许使用自定义实现我可以更快地获得结果。 – 2009-08-08 22:47:36