如何在PHP中实现模糊效果?

Ahm*_*ess 3 php gd

我一直在寻找PHP代码将高斯模糊应用于图像.

我做的是这样的:

<?php
$image = imagecreatefromjpeg('new.jpg'); 
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagejpeg($image, 'blur.jpeg');
imagedestroy($image);
?>
Run Code Online (Sandbox Code Playgroud)

然而效果非常弱,如果我重复模糊效果,处理需要很长时间,最终结果仍然不是那么好.

我也使用过Timthumb,我总是喜欢它的简洁性,但它默认裁剪图像,其模糊效果非常弱.

Bab*_*aba 7

您可以使用ImageMagic

原始图像

在此输入图像描述

跑过去 exec

convert a.png -blur 0x3 a_blur.png
Run Code Online (Sandbox Code Playgroud)

产量

或运行

convert a.png -blur 0x8 a_blur.png
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


K-G*_*Gun 7

没有ImageMagic lib也可以;

header('Content-Type: image/png');

$blurs = 10;
$image = imagecreatefrompng('blur.png');
for ($i = 0; $i < $blurs; $i++) {
    imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
}
imagepng($image, 'blur10.png');
imagedestroy($image);
Run Code Online (Sandbox Code Playgroud)

应用10个模糊后;

在此输入图像描述

  • 谢谢你,但这种方法需要更长的时间来完成,并且将模糊值增加到更高的程度会使其扭曲,不像巴巴的第三个例子那样模糊。 (2认同)