WEB开发技术

利用高斯算法实现图片模糊处理

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]) {
            case 1: imagegif($srcImgObj, $savefile); break;
            case 2: imagejpeg($srcImgObj, $savefile); break;
            case 3: 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


未经允许不得转载:WEB2.0开发设计 » 利用高斯算法实现图片模糊处理
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

大前端WP主题 更专业 更方便

联系我们联系我们