我需要使用
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);