国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php封裝的圖片(縮略圖)處理類完整實例

2024-05-04 23:51:19
字體:
來源:轉載
供稿:網友

本文實例講述了php封裝的圖片(縮略圖)處理類。分享給大家供大家參考,具體如下:

<?php//圖片處理工具類class Image{    //屬性    private $thumb_width; //縮略圖的寬    private $thumb_height;    //錯誤屬性    public $thumb_error;    //構造方法    public function __construct($width = 0,$height = 0){      $this->thumb_width = ($width == 0) ? $GLOBALS['config']['admin_goods_thumb']['width'] : $width;      $this->thumb_height = ($height == 0) ? $GLOBALS['config']['admin_goods_thumb']['height'] : $height;    }    /*     * 制作縮略圖     * @param1 string $src,原圖路徑,/uploads/20150122101010abcdef.gif     * @param2 string $path,縮略圖保存路徑/uploads/thumb_20150122101010abcdef.gif     * @return 縮略圖的名字    */    public function makeThumb($src,$path){      //判斷原圖是否存在      if(!file_exists($src)){        $this->thumb_error = '原圖不存在!';        return false;      }      //打開原圖資源      //獲取能夠使用的后綴      $ext = $this->getFunctionName($src); //gif      //拼湊函數名      $open = 'imagecreatefrom' . $ext;    //imagecreatefromgif      $save = 'image' . $ext;          //imagegif      //如果不清楚;echo $open,$save;exit;      //可變函數打開原圖資源      $src_img = $open($src); //利用可變函數打開圖片資源      //imagecreatefromgif($src)      //縮略圖資源      $dst_img = imagecreatetruecolor($this->thumb_width,$this->thumb_height);      //背景色填充白色      $dst_bg_color = imagecolorallocate($dst_img,255,255,255);      imagefill($dst_img,0,0,$dst_bg_color);      //寬高比確定寬高      $dst_size = $this->thumb_width / $this->thumb_height;      //獲取原圖數據      $file_info = getimagesize($src);      $src_size = $file_info[0]/$file_info[1];      //求出縮略圖寬和高      if($src_size > $dst_size){        //原圖寬高比大于縮略圖        $width = $this->thumb_width;        $height = round($width / $src_size);      }else{        $height = $this->thumb_height;        $width = round($height * $src_size);      }      //求出縮略圖起始位置      $dst_x = round($this->thumb_width - $width)/2;      $dst_y = round($this->thumb_height - $height)/2;      //制作縮略圖      if(imagecopyresampled($dst_img,$src_img,$dst_x,$dst_y,0,0,$width,$height,$file_info[0],$file_info[1])){        //采樣成功:保存,將文件保存到對應的路徑下        $thumb_name = 'thumb_' . basename($src);        $save($dst_img,$path . '/' . $thumb_name);        //保存成功        return $thumb_name;      }else{        //采樣失敗        $this->thumb_error = '縮略圖采樣失敗!';        return false;      }    }    /*     * 獲取文件要調用的函數名     * @param1 string $file,文件名字     * @return 通過文件后綴名得到的函數字符串    */    private function getFunctionName($file){      //得到文件的后綴      $file_info = pathinfo($file);      $ext = $file_info['extension']; //后綴:gif,png,jpg,jpeg,pjpeg      //imagecreatefromgif,imagecreatefromjpeg,imagecreatefrompng      //定義一個數組保存函數名      $func = array(        'gif' => 'gif',        'png' => 'png',        'jpg' => 'jpeg',        'jpeg' => 'jpeg',        'pjpeg' => 'jpeg'      );      //返回值      return $func[$ext];    }}

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 两当县| 沙河市| 江永县| 孝昌县| 安龙县| 礼泉县| 延川县| 福鼎市| 抚顺县| 佛坪县| 高密市| 嵊州市| 额敏县| 库车县| 互助| 额敏县| 郯城县| 沾益县| 甘泉县| 武功县| 克什克腾旗| 苍梧县| 冷水江市| 界首市| 上思县| 饶阳县| 辉县市| 万盛区| 临夏市| 海林市| 余姚市| 罗定市| 教育| 鹤壁市| 莱芜市| 行唐县| 朝阳区| 安达市| 平乡县| 宾川县| 林芝县|