我需要使用 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));
}
}
这基本上用 $pixel 像素的正方形替换了选定的区域。我想实现某种模糊(最好是高斯)效果,我知道我可以使用 ImageFilter() 函数:
ImageFilter($image, IMG_FILTER_GAUSSIAN_BLUR);
但它模糊了整个画布,我的问题是我只想模糊特定区域。
您可以将图像的特定部分复制到新图像中,在新图像上应用模糊,然后将结果复制回来。
有点像这样:
$image2 = imagecreate($width, $height);
imagecopy ( $image2 , $image , 0 , 0 , $x , $y , $width , $height);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagecopy ($image, $image2, $x, $y, 0, 0, $width, $height);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)