3

我一直在寻找 PHP 代码来对图像应用高斯模糊。

我所做的是这样的:

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

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

我也用过 Timthumb ,我一直很喜欢它的简洁,但它默认裁剪图像,而且它的模糊效果很弱。

4

3 回答 3

7

您可以使用 ImageMagic

原始图像

在此处输入图像描述

运行方式exec

convert a.png -blur 0x3 a_blur.png

输出

或运行

convert a.png -blur 0x8 a_blur.png

在此处输入图像描述

于 2013-01-20T19:53:52.777 回答
7

没有 ImageMagic 库也是可能的;

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);

应用 10 次模糊后;

在此处输入图像描述

于 2013-01-20T21:02:36.217 回答
0

图像优化是一个非常繁重的过程,所以如果我在 PHP 中有这类任务,那么我个人使用这个名为PhpThumb的 PHP 图像库它可以创建模糊图像而无需任何代码,您只需通过 url 调用它的脚本并根据其文档提供参数检查它的演示

于 2015-05-25T11:08:02.253 回答