本文实例讲述了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程序设计有所帮助。