在 PHP 中,可以使用 GD 库或 ImageMagick 库进行图形处理,包括模糊操作。这里我将向您展示如何使用 GD 库实现模糊效果。
首先,确保您的 PHP 安装包含了 GD 库。然后,您可以使用以下代码来实现模糊效果:
<?php
// 加载图像
$image = imagecreatefromjpeg('input.jpg');
$width = imagesx($image);
$height = imagesy($image);
// 创建一个正方形的画布,大小与原始图像相同
$canvas = imagecreatetruecolor($width, $height);
// 设置背景颜色
$background = imagecolorallocate($canvas, 255, 255, 255);
imagefill($canvas, 0, 0, $background);
// 模糊半径
$blur_radius = 5;
// 应用高斯模糊
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
$color = imagecolorat($image, $x, $y);
$sum = 0;
$count = 0;
// 计算高斯模糊的颜色值
for ($i = -$blur_radius; $i <= $blur_radius; $i++) {
for ($j = -$blur_radius; $j <= $blur_radius; $j++) {
$xi = $x + $i;
$yj = $y + $j;
// 确保坐标在图像范围内
if ($xi >= 0 && $xi < $width && $yj >= 0 && $yj < $height) {
$color_value = imagecolorat($image, $xi, $yj);
$sum += ($color_value - $color) * ($i * $i + $j * $j);
$count++;
}
}
}
// 计算模糊后的颜色值
$color_value = round($sum / $count);
imagesetpixel($canvas, $x, $y, $color_value);
}
}
// 保存模糊后的图像
imagejpeg($canvas, 'output.jpg', 80);
// 销毁图像资源
imagedestroy($image);
imagedestroy($canvas);
?>
这段代码首先加载名为 “input.jpg” 的图像,然后创建一个与原始图像大小相同的画布。接下来,它使用高斯模糊算法对图像进行处理,并将结果保存为 “output.jpg”。
您可以根据需要调整 $blur_radius
变量的值以控制模糊程度。较大的值将导致更强的模糊效果。