本文实例讲述了php使用高斯算法实现图片的模糊处理功能。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
class image_blur{
function gaussian_blur( $srcimg , $savepath =null, $savename =null, $blurfactor =3){
$gdimageresource = $this ->image_create_from_ext( $srcimg );
$srcimgobj = $this ->blur( $gdimageresource , $blurfactor );
$temp = pathinfo ( $srcimg );
$name = $temp [ 'basename' ];
$path = $temp [ 'dirname' ];
$exte = $temp [ 'extension' ];
$savename = $savename ? $savename : $name ;
$savepath = $savepath ? $savepath : $path ;
$savefile = $savepath . '/' . $savename ;
$srcinfo = @ getimagesize ( $srcimg );
switch ( $srcinfo [2]) {
case1: imagegif( $srcimgobj , $savefile ); break ;
case2: imagejpeg( $srcimgobj , $savefile ); break ;
case3: imagepng( $srcimgobj , $savefile ); break ;
default : return '保存失败' ; //保存失败
}
return $savefile ;
imagedestroy( $srcimgobj );
}
}
$image_blur = new image_blur();
//blurfactor的值代表模糊程度,savepath为空时候直接覆盖,savename为空直接用原名
$image_blur ->gaussian_blur( $srcimg = "./5.jpg" , $savepath =null, $savename =null, $blurfactor =5);
?>
|
这个方法百度到的,有个面试我的让我做,百度了一堆资料才实现。
blurfactor的值代表模糊程度
效果展示:
原图:
模糊程度2
模糊程度3
模糊程度4
模糊程度5
模糊程度6
模糊程度7
希望本文所述对大家php程序设计有所帮助。