我需要使用
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,$y)); } }
这基本上用一个像素像素的正方形代替了所选区域.我想完成某种模糊(高斯优选)效果,我知道我可以使用ImageFilter()函数:
ImageFilter($image,IMG_FILTER_GAUSSIAN_BLUR);
但是它会影响整个画布,我的问题是我只想模糊一个特定的区域.
您可以将图像的特定部分复制到新图像中,对新图像应用模糊并将结果复制回来.
像这样排序:
$image2 = imagecreate($width,$height); imagecopy ( $image2,$image,$width,$height); imagefilter($image,IMG_FILTER_GAUSSIAN_BLUR); imagecopy ($image,$image2,$height);