在 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
變量的值以控制模糊程度。較大的值將導致更強的模糊效果。