本文實例講述了php使用高斯算法實現圖片的模糊處理功能。分享給大家供大家參考,具體如下:
<?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相關內容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《php文件操作總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。