久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP實現生成模糊圖片的方法示例

這篇文章主要介紹了PHP實現生成模糊圖片的方法,涉及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);
?>

原圖效果:

生成模糊圖片后的效果:

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《php文件操作總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

本文講述了php中json_encode處理gbk與gb2312中文亂碼問題的解決方法,具體方法如下: 1.json_encode()中文在gbk/gb2312中對中文返回為null $arr = array (??array (?? ?'catid' = '4',?? ?'catname' = 'www.gen
php中求三個數中最大值的實例代碼如下,希望能夠幫到需要的朋友 ?php//求三個數中的最大值function maxNum($x,$y,$z){ return $x$y ? ( $x$z ? $x : $z ) : ($y$z ?$y :$z);}echo maxNum(35,26,118);? 也可以通過下面
下面小編就為大家分享一篇解決PHP字符串長度不一致的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP讓數組中有相同值的組成新的數組實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇詳談PHP中public,private,protected,abstract等關鍵字的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了關于php中通用的excel導出方法的相關資料,通過文中介紹的方法對大家學習或者使用php具有一定的參考學學習價值,需要的朋友們下面隨著小編來一起學習學習
主站蜘蛛池模板: 欧美日韩精品中文字幕 | 毛片在线看片 | 免费观看成人鲁鲁鲁鲁鲁视频 | 日韩av成人 | 成人免费观看男女羞羞视频 | 久久精品| 视频一区二区中文字幕 | 四虎影院在线免费观看 | 亚洲成人精品久久久 | 日韩中文一区二区三区 | 精品美女视频在免费观看 | 亚洲精品在线视频 | 美国黄色毛片 | 国产自产c区 | 成人字幕网zmw | 日本不卡免费新一二三区 | 亚洲网站在线播放 | av在线播放网站 | www.久久久 | 亚洲国产欧美一区 | 91网在线观看| 狠狠色综合久久婷婷 | 91久久精品国产 | 天天操精品视频 | 日韩精品一区二区三区免费视频 | 成年人网站免费视频 | 日本精品视频 | 91精品欧美久久久久久久 | 欧美视频一区二区三区 | 99久久99久久精品国产片果冰 | 99热在线播放 | 亚洲成av| 亚洲精品一二三区 | 欧美精品1区2区3区 精品国产欧美一区二区 | 成人国产在线视频 | ww 255hh 在线观看 | 久久久久久91 | 国产亚洲精品成人av久久ww | 国产福利资源在线 | 成人小视频在线观看 | 涩色视频在线观看 |