我一直在寻找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,我总是喜欢它的简洁性,但它默认裁剪图像,其模糊效果非常弱.
您可以使用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)

没有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个模糊后;

| 归档时间: |
|
| 查看次数: |
11422 次 |
| 最近记录: |