<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        php如何實現圖片模糊

        來源:懂視網 責編:小采 時間:2020-11-02 18:27:58
        文檔

        php如何實現圖片模糊

        php如何實現圖片模糊:php實現圖片模糊的方法:首先創建一個PHP示例文件;然后定義一個image_blur類;接著創建gaussian_blur和blur方法;最后通過$image_blur->gaussian_blur();方法實現圖片模糊。推薦:《PHP視頻教程》本文實例講述了PHP實現生成模糊圖
        推薦度:
        導讀php如何實現圖片模糊:php實現圖片模糊的方法:首先創建一個PHP示例文件;然后定義一個image_blur類;接著創建gaussian_blur和blur方法;最后通過$image_blur->gaussian_blur();方法實現圖片模糊。推薦:《PHP視頻教程》本文實例講述了PHP實現生成模糊圖

        php實現圖片模糊的方法:首先創建一個PHP示例文件;然后定義一個“image_blur”類;接著創建“gaussian_blur”和“blur”方法;最后通過“$image_blur->gaussian_blur();”方法實現圖片模糊。

        推薦:《PHP視頻教程》

        本文實例講述了PHP實現生成模糊圖片的方法。分享給大家供大家參考,具體如下:

        <?php
        class image_blur{
        /**
         * 圖片高斯模糊(適用于png/jpg/gif格式)
         * @param $srcImg 原圖片
         * @param $savepath 保存路徑
         * @param $savename 保存名字
         * @param $positon 模糊程度
         *
         *基于Martijn Frazer代碼的擴充, 感謝 Martijn Frazer
         */
         public 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);
         }
         /**
         * Strong Blur
         *
         * @param $gdImageResource 圖片資源
         * @param $blurFactor 可選擇的模糊程度
         * 可選擇的模糊程度 0使用 3默認 超過5時 極其模糊
         * @return GD image 圖片資源類型
         * @author Martijn Frazer, idea based on http://stackoverflow.com/a/20264482
         */
         private function blur($gdImageResource, $blurFactor = 3)
         {
         // blurFactor has to be an integer
         $blurFactor = round($blurFactor);
         $originalWidth = imagesx($gdImageResource);
         $originalHeight = imagesy($gdImageResource);
         $smallestWidth = ceil($originalWidth * pow(0.5, $blurFactor));
         $smallestHeight = ceil($originalHeight * pow(0.5, $blurFactor));
         // for the first run, the previous image is the original input
         $prevImage = $gdImageResource;
         $prevWidth = $originalWidth;
         $prevHeight = $originalHeight;
         // scale way down and gradually scale back up, blurring all the way
         for($i = 0; $i < $blurFactor; $i += 1)
         {
         // determine dimensions of next image
         $nextWidth = $smallestWidth * pow(2, $i);
         $nextHeight = $smallestHeight * pow(2, $i);
         // resize previous image to next size
         $nextImage = imagecreatetruecolor($nextWidth, $nextHeight);
         imagecopyresized($nextImage, $prevImage, 0, 0, 0, 0,
         $nextWidth, $nextHeight, $prevWidth, $prevHeight);
         // apply blur filter
         imagefilter($nextImage, IMG_FILTER_GAUSSIAN_BLUR);
         // now the new image becomes the previous image for the next step
         $prevImage = $nextImage;
         $prevWidth = $nextWidth;
         $prevHeight = $nextHeight;
         }
         // scale back to original size and blur one more time
         imagecopyresized($gdImageResource, $nextImage,
         0, 0, 0, 0, $originalWidth, $originalHeight, $nextWidth, $nextHeight);
         imagefilter($gdImageResource, IMG_FILTER_GAUSSIAN_BLUR);
         // clean up
         imagedestroy($prevImage);
         // return result
         return $gdImageResource;
         }
         private function image_create_from_ext($imgfile)
         {
         $info = getimagesize($imgfile);
         $im = null;
         switch ($info[2]) {
         case 1: $im=imagecreatefromgif($imgfile); break;
         case 2: $im=imagecreatefromjpeg($imgfile); break;
         case 3: $im=imagecreatefrompng($imgfile); break;
         }
         return $im;
         }
        }
        $image_blur = new image_blur();
        $image_blur->gaussian_blur("./1.jpg",null,null,3);
        ?>

        原圖效果:

        生成模糊圖片后的效果:

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        php如何實現圖片模糊

        php如何實現圖片模糊:php實現圖片模糊的方法:首先創建一個PHP示例文件;然后定義一個image_blur類;接著創建gaussian_blur和blur方法;最后通過$image_blur->gaussian_blur();方法實現圖片模糊。推薦:《PHP視頻教程》本文實例講述了PHP實現生成模糊圖
        推薦度:
        標簽: 圖片 php 實現
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 四虎免费影院ww4164h| yellow免费网站| 久草视频免费在线| 亚洲人成在线电影| 久久久久免费精品国产小说| 亚洲人成精品久久久久| 黄色网站软件app在线观看免费| 亚洲国产成人久久综合一区77| 美女18一级毛片免费看| 亚洲国产高清精品线久久| 国产福利电影一区二区三区,免费久久久久久久精 | 亚洲欧洲av综合色无码| 女人18特级一级毛片免费视频| 亚洲欧美日本韩国| 免费在线观看黄网| 中文字字幕在线高清免费电影| 国产AV无码专区亚洲精品| 日本黄色动图免费在线观看| 亚洲综合综合在线| 成年大片免费视频| 特级毛片A级毛片100免费播放| 精品国产日韩亚洲一区| 国产精品99久久免费观看 | 亚洲综合久久精品无码色欲| 国产免费131美女视频| 精精国产www视频在线观看免费| 国产亚洲精品美女久久久 | 亚洲最大免费视频网| 国产精品亚洲精品观看不卡| 日韩视频在线免费观看| 黄视频在线观看免费| 亚洲伊人色一综合网| 亚洲国产成人精品91久久久| 88av免费观看| 亚洲AV日韩AV永久无码色欲| 亚洲国产精品无码中文字| 午夜高清免费在线观看| 在线观看免费无码视频| 亚洲AV成人一区二区三区在线看| 国产亚洲精久久久久久无码AV| 午夜福利不卡片在线播放免费|