亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

分享php多功能圖片處理類
來源:易賢網 閱讀:1337 次 日期:2016-08-22 15:19:32
溫馨提示:易賢網小編為您整理了“分享php多功能圖片處理類”,方便廣大網友查閱!

本文實例為大家分享了多功能php圖片處理類,供大家參考,具體內容如下

<?php 

/** 

 * Image.class.php 圖像處理類 

 * @author Administrator 

 * 

 */

class Image{ 

  private $path=''; 

  /** 

   * 構造方法 

   * @param unknown $path 

   */

  function __construct($path=''){ 

    if (!empty($path)) { 

      $this->path=$path; 

    } 

  } 

  /** 

   +----------------------------------------------- 

   * 等比縮放函數 

   +----------------------------------------------- 

   * @param unknown $name 需處理圖片的名稱 

   * @param unknown $width 縮放后的寬度 

   * @param unknown $height 縮放后的高度 

   * @param string $thumb_prixs 縮放后的前綴名 

   * @return mixed $newname 返回的縮放后的文件名 

   */

  function thumb($name,$width,$height,$thumb_prixs='th_'){ 

    //獲取圖片信息 

    $Info=$this->ImageInfo($name); //圖片的寬度,高度,類型 

    //獲取圖片資源,各種類型的圖片都可以創建資源,jpg,gif,png 

    $imagres=$this->Img_resouce($name, $Info); 

    //獲取計算圖片等比例之后的大小, 

    $size=$this->getNewSize($name,$width,$height,$Info); 

    //獲取新的圖片資源,處理透明背景 

    $newimg=$this->getImage($imagres,$size,$Info); 

    //另存為一個新的圖片,返回新的縮放后的圖片名稱 

    $newname=$this->SaveNewImage($newimg,$thumb_prixs.$name,$Info); 

    return $newname;  

  } 

  /** 

   +----------------------------------------------------------------------- 

   * 水印標記函數 

   +----------------------------------------------------------------------- 

   * @param unknown $backname  背景文件名 

   * @param unknown $watername 水印文件名 

   * @param number $waterpos  水印位置 

   * @param string $wa_prixs  水印前綴名 

   * @return boolean 

   */

  function waterMark($backname,$watername,$waterpos=0,$wa_prixs='wa_') { 

    if (file_exists($this->path.$backname) && file_exists($this->path.$watername)) { 

      $backinfo=$this->ImageInfo($backname); 

      $waterinfo=$this->ImageInfo($watername); 

      if(!$pos=$this->getPos($backinfo, $waterinfo, $waterpos)){ 

        echo "水印圖片不應該比背景圖片小"; 

        return false; 

      } 

       $backimg=$this->Img_resouce($backname, $backinfo); 

       $waterimg=$this->Img_resouce($watername, $waterinfo); 

       var_dump($backimg);exit(); 

       $backimg=$this->CopyImage($backimg, $waterimg, $pos, $waterinfo); 

       $this->SaveNewImage($backimg, $wa_prixs.$backname, $backinfo); 

    }else{ 

      echo "圖片或水印不存在"; 

      return false; 

    } 

  } 

  /** 

   +----------------------------------------------------------------------- 

   * 獲取圖片信息函數 

   +----------------------------------------------------------------------- 

   * @param unknown $name 

   * @return unknown 

   */

   private function ImageInfo($img) { 

    $imageInfo=getimagesize($img); 

    if ($imageInfo!==false) { 

      $imageType=strtolower(substr(image_type_to_extension($imageInfo[2]),1)); 

      $imageSize=filesize($img); 

      $Info=array( 

        "width" => $imageInfo[0], 

        "height" => $imageInfo[1], 

        "type" => $imageType, 

        "size" => $imageSize, 

        "mime" => $imageInfo['mime'] 

      ); 

      return $Info; 

    }else{ 

      return false; 

    }   

  } 

  /** 

   +-------------------------------------------------------- 

   * 創建原圖像格式函數 

   +-------------------------------------------------------- 

   * @param unknown $name 

   * @param unknown $imaginfo 

   * @return boolean|resource 

   */

  private function Img_resouce($name,$imageinfo){ 

    $iamgeres=$this->path.$name; 

    //var_dump($iamgeres);exit(); 

     switch ($imageinfo['type']) { 

      case 'gif': 

       $img=imagecreatefromgif($name); 

         break; 

      case 'jpg': 

       $img=imagecreatefromjpeg($name); 

         break; 

      case 'png': 

       $img=imagecreatefrompng($name); 

         break;             

     } 

     return $img; 

  } 

  /** 

   +-------------------------------------------------- 

   * 獲取等比縮放尺寸函數 

   +-------------------------------------------------- 

   * @param unknown $name 

   * @param unknown $width 

   * @param unknown $height 

   * @param unknown $imaginfo 

   * @return Ambigous <unknown, number> 

   */

  private function getNewSize($name,$width,$height,$imaginfo){ 

       $size['width']=$imaginfo['width']; 

       $size['height']=$imaginfo['height']; 

    if ($width<$imaginfo['width']) { 

      $size['width']=$width; 

    } 

    if ($height<$imaginfo['height']) { 

      $size['height']=$height; 

    } 

    //圖像等比例縮放算法 

    if ($imaginfo['width']*$size['width']>$imaginfo['height']*$size['height']) { 

      $size['height']=round($imaginfo['height']*$size['width']/$imaginfo['width']); 

    }else{ 

      $size['width']=round($imaginfo['width']*$size['height']/$imaginfo['height']); 

    } 

    return $size;  

  } 

  private function getImage($imageres,$size,$imageinfo){ 

    //新建一個真彩色圖像 

    $newimg=imagecreatetruecolor($size['width'], $size['height']); 

    //將某個顏色定義為透明色 

    $otsc=imagecolortransparent($imageres); 

    //獲取圖像的調色板的顏色數目 

    if ($otsc>=0&&$otsc<=imagecolorstotal($imageres)) { 

      //取得某索引的顏色 

      $stran=imagecolorsforindex($imageres, $otsc); 

      //為圖像分配顏色 

      $newt=imagecolorallocate($imageres, $stran['red'], $stran['green'], $stran['blue']); 

      //區域填充函數 

      imagefill($newimg, 0, 0, $newt); 

      //為圖像定義透明色 

      imagecolortransparent($newimg,$newt);     

    } 

    imagecopyresized($newimg, $imageres, 0, 0, 0, 0, $size['width'], $size['height'], $imageinfo['width'], $imageinfo['height']);   

    imagedestroy($imageres); 

    return $newimg;  

   } 

   /** 

    +---------------------------------------------- 

    *保存圖像函數 

    +---------------------------------------------- 

    * @param unknown $newimg 

    * @param unknown $newname 

    * @param unknown $imageinfo 

    * @return unknown  

    */

   private function SaveNewImage($newimg,$newname,$imageinfo){ 

    switch ($imageinfo['type']){ 

      case 1://gif 

        $result=imagegif($newimg,$this->path.$newname); 

        break; 

      case 2://jpg 

        $result=imagejpeg($newimg,$this->path.$newname); 

        break; 

      case 3://png 

        $result=imagepng($newimg,$this->path.$newname); 

        break; 

    } 

    imagedestroy($newimg); 

    return $newname; 

   } 

     

   /** 

    +----------------------------------------------------------------- 

    * 獲取水印位置函數 

    +----------------------------------------------------------------- 

    * @param unknown $backinfo  背景信息 

    * @param unknown $waterinfo  水印信息 

    * @param unknown $waterpos  水印位置 

    * @return boolean|multitype:number 返回坐標數組 

    */

   private function getPos($backinfo,$waterinfo,$waterpos) { 

    if ($backinfo['width']<$waterinfo['width']||$backinfo['height']<$waterinfo['height']) { 

      return false; 

    } 

    switch ($waterpos) { 

        

      case 1://左上角 

        $posX=0; 

        $posY=0; 

         break; 

      case 2://中上方 

        $posX=$backinfo['width']-$waterinfo['width']/2; 

        $posY=0; 

         break; 

      case 3://右上角 

        $posX=$backinfo['width']-$waterinfo['width']; 

        $posY=0; 

         break; 

      case 4://左中方 

        $posX=0; 

        $posY=$backinfo['height']-$waterinfo['height']/2; 

         break; 

      case 5://正中間 

        $posX=$backinfo['width']-$waterinfo['width']/2; 

        $posY=$backinfo['height']-$waterinfo['height']/2; 

         break; 

      case 6://右中方 

        $posX=$backinfo['width']-$waterinfo['width']; 

        $posY=$backinfo['height']-$waterinfo['height']/2; 

         break; 

      case 7://底部靠左 

        $posX=0; 

        $posY=$backinfo['height']-$waterinfo['height']; 

         break; 

      case 8://底部居中 

        $posX=$backinfo['width']-$waterinfo['width']/2; 

        $posY=$backinfo['height']-$waterinfo['height']; 

         break; 

      case 9://底部靠右 

        $posX=$backinfo['width']-$waterinfo['width']; 

        $posY=$backinfo['height']-$waterinfo['height']; 

         break; 

      case 0: 

      default : 

        $posX=rand(0,$backinfo['width']-$waterinfo['width']); 

        $posY=rand(0,$backinfo['height']-$waterinfo['height']); 

         break; 

    } 

    return array('posX'=>$posX,'posY'=>$posY); 

   } 

   /** 

    +------------------------------------------------------------------- 

    * 拷貝圖像 

    +------------------------------------------------------------------- 

    * @param unknown $backimg   背景資源 

    * @param unknown $waterimg  水印資源 

    * @param unknown $pos     水印位置 

    * @param unknown $waterinfo  水印信息 

    * @return unknown 

    */

   private function CopyImage($backimg,$waterimg,$pos,$waterinfo) { 

    imagecopy($backimg, $waterimg, $pos['posX'], $pos['posY'], 0, 0, $waterinfo['width'], $waterinfo['height']); 

    imagedestroy($waterimg);     

     return $backimg; 

   } 

?>

以上就是本文的全部內容,希望對大家學習PHP程序設計有所幫助。

更多信息請查看網絡編程
易賢網手機網站地址:分享php多功能圖片處理類
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
麻豆av福利av久久av| 欧美日韩国产色综合一二三四| 亚洲一区二区毛片| 国产伦精品一区二区三区高清版| 国产精品一区毛片| 久久精品系列| 亚洲无毛电影| 亚洲欧美日本视频在线观看| 午夜精品一区二区三区四区 | 一本色道88久久加勒比精品| 国产欧美另类| 欧美成人嫩草网站| 亚洲欧洲一区二区天堂久久| 小嫩嫩精品导航| 国产精品99一区二区| 在线亚洲观看| 欧美片第1页综合| av不卡在线看| 久久人人超碰| 在线亚洲观看| 黄色精品一区| 久久资源在线| 亚洲一区在线免费| 在线国产日韩| 欧美午夜视频| 久久久久久亚洲精品杨幂换脸 | 久久伊人一区二区| 亚洲毛片网站| 精品福利电影| 亚洲视频高清| 欧美日韩在线高清| 玖玖在线精品| 免费视频久久| 香蕉av777xxx色综合一区| 亚洲日韩成人| 亚洲经典视频在线观看| 亚洲视频狠狠| 亚洲午夜精品一区二区| 欧美三日本三级少妇三99| 蜜桃av一区| 午夜一区二区三区不卡视频| 一本一道久久综合狠狠老精东影业 | 99精品99| 一级成人国产| 一区二区三区四区五区视频| 亚洲激情另类| 亚洲精品影视| 国产精品老牛| 在线亚洲美日韩| 一区二区日本视频| 99视频国产精品免费观看| 99国内精品久久久久久久软件| 亚洲高清不卡| 最近看过的日韩成人| 最新国产乱人伦偷精品免费网站| 亚洲国产精品第一区二区| 精品69视频一区二区三区Q| 韩国一区二区三区美女美女秀| 激情六月综合| 亚洲一区二区在线看| 亚洲一区二区网站| 久久综合导航| 悠悠资源网久久精品| 在线亚洲自拍| 欧美女人交a| 日韩亚洲精品在线| 久久成人精品| 韩日成人在线| 国产乱人伦精品一区二区| 久久精品五月| 亚洲黄色三级| 久久夜色精品| 99成人在线| 欧美在线资源| 亚洲免费黄色| 欧美在线不卡| 亚洲精品影院在线观看| 久久亚洲电影| 亚洲精品一区二区三| 亚洲主播在线| 欧美午夜a级限制福利片| 一级成人国产| 国产精品av久久久久久麻豆网| 一区二区高清视频| 米奇777在线欧美播放| 禁久久精品乱码| 免费日韩av片| 亚洲午夜视频| 久久一区精品| 国产区欧美区日韩区| 欧美1区2区3区| 国产精品试看| 亚洲韩日在线| 国产精品观看| 欧美在线精品一区| 亚洲在线观看| 99日韩精品| 黄色精品一区| 国产精品啊v在线| 久久亚洲综合| 久久不射中文字幕| 一本色道久久综合亚洲二区三区| 欧美日韩亚洲在线| 久久久亚洲人| 久久亚洲综合网| 久久av一区二区三区亚洲| 国产精品久久久久久久久婷婷| 亚洲日本久久| 亚洲国产免费看| 激情视频一区二区| 伊人色综合久久天天五月婷| 亚洲网站啪啪| 亚洲国产精品www| 精品动漫一区| 99精品视频网| 国产亚洲综合精品| 亚洲欧美日本日韩| 欧美亚洲免费| 久久九九免费| 欧美日韩亚洲一区| 在线观看一区欧美| 99精品久久久| 另类图片国产| 欧美激情性爽国产精品17p| 欧美jjzz| 精品福利电影| 中文精品视频| 久久成人国产| 欧美激情亚洲| 亚洲欧洲一区| 欧美一级久久| 欧美激情国产日韩| 黄色成人在线网站| 国产欧美成人| 午夜精品影院| 亚洲区第一页| 久久久久国产精品午夜一区| 欧美日韩国产成人精品| 伊人天天综合| 久久成人资源| 亚洲香蕉网站| 午夜亚洲性色福利视频| 欧美精品aa| 亚洲清纯自拍| 久久久精品国产一区二区三区| 欧美国产三区| 野花国产精品入口| 欧美在线影院| 国产亚洲一区在线| 国产精品国产亚洲精品看不卡15| 中日韩视频在线观看| 久久综合激情| 中文日韩在线| 亚洲无线视频| 快she精品国产999| 中国成人在线视频| 狠狠综合久久| 午夜久久资源| 亚洲在线免费| 亚洲国产一区二区三区在线播| 国产精品毛片| 伊人久久av导航| 午夜精品区一区二区三| 亚洲一区不卡| 一本久道久久综合狠狠爱| 欧美日韩喷水| 久久成人精品| 日韩一区二区久久| 国内精品嫩模av私拍在线观看| 性色一区二区| 国产精品久久一区二区三区| 欧美三级第一页| 久久久久se| 男女精品网站| 午夜影院日韩| 午夜一区在线| 香蕉久久久久久久av网站| 中文精品视频| 国产精品社区| 先锋影音久久久| 欧美亚洲三区| 久久av一区二区三区| 亚洲视频1区| 99亚洲一区二区| 亚洲精品一区二| 亚洲人体大胆视频| 极品中文字幕一区| 一区在线免费| 亚洲精品日韩精品| 亚洲精品麻豆| 亚洲作爱视频| 国产精品日韩欧美一区二区三区 | 国产精品视频福利| 一区二区三区精品国产| 亚洲国产一区二区三区在线播| 国自产拍偷拍福利精品免费一 | 欧美 日韩 国产精品免费观看| 香蕉视频成人在线观看| 国产精品美女久久久| 国产精品一区二区三区四区五区 | 国产日韩欧美亚洲一区| 一区二区三区免费看| 日韩五码在线| 亚洲一区二区三区精品动漫| 亚洲专区欧美专区| 欧美一区成人| 激情偷拍久久| 国产精品呻吟| 欧美激情一区| 亚洲精一区二区三区| 亚洲一区不卡| 欧美日韩a区| 亚洲国产精品123| 亚洲一区二区三区在线观看视频| 久久亚洲午夜电影| 影音先锋国产精品| 国产日韩精品久久| 欧美日韩国内| 国产精品美女久久久浪潮软件| 女主播福利一区| 中文精品视频| 国产精品二区在线观看| 国产伦精品一区| 韩国精品一区二区三区| 国产精品视区| 亚洲经典自拍| 国产精品国产三级欧美二区 | 在线不卡视频| 久久国产99| 亚洲另类视频| 欧美日韩国产综合网| 国产精品久久波多野结衣| 欧美片第1页综合| 国产精品亚洲一区| 影音先锋久久资源网| 久久精品人人做人人爽电影蜜月| 伊人激情综合| 欧美成人久久| 亚洲免费综合| 一本一本久久a久久精品综合妖精| 久久天堂国产精品| 国产精品久久久久久久久久妞妞| 欧美三级视频| 久久综合精品一区| 亚洲资源av| 一区二区三区福利| 精品96久久久久久中文字幕无| 免播放器亚洲| 国产伦精品一区二区三区视频黑人 | 亚洲激情成人| 欧美日韩网址| 欧美一区二区三区另类| 国产一区二区三区黄| 亚洲激情视频| 激情综合中文娱乐网| 欧美激情1区2区| 久久人人97超碰人人澡爱香蕉| 国产日本精品| 99国产精品自拍| 91久久久一线二线三线品牌| 国产一区日韩一区| 欧美视频官网| 国一区二区在线观看| 欧美日韩免费| 韩日成人av| 极品日韩av| 亚洲国产精品一区| 亚洲精品日韩久久| 日韩一级欧洲| 国产一区二区高清| 国产区二精品视| 亚洲一区二区在线看| 免费中文字幕日韩欧美| 亚洲欧美成人综合| 久久久夜夜夜| 韩日成人av| 国产精品久久777777毛茸茸 | 国产视频亚洲| 性欧美videos另类喷潮| 午夜亚洲性色视频| 久久综合狠狠综合久久综青草| 久久综合图片| 欧美色综合网| 亚洲人成人一区二区三区| 亚洲视频成人| 久久一二三区| 亚洲午夜久久久久久尤物| 日韩亚洲国产欧美| 亚洲女同同性videoxma| 欧美一区二区| 亚洲承认在线| 欧美亚洲免费| 欧美日韩1区| 国产欧美日韩综合一区在线播放 | 国产欧美日本在线| 老鸭窝91久久精品色噜噜导演| 久久久久久国产精品一区| 欧美韩国一区| 日韩香蕉视频| 欧美粗暴jizz性欧美20| 在线看无码的免费网站| 免费看亚洲片| 亚洲二区免费| 欧美在线精品一区| 亚洲精选在线| 欧美理论在线| 新狼窝色av性久久久久久| 国产综合精品| 久久精品三级| 一级日韩一区在线观看| 欧美精品国产| 亚洲一区自拍| 亚洲三级观看| 国产精品久久| 欧美一区激情视频在线观看| 日韩午夜av在线| 国产精品播放| 欧美在线视频二区| 亚洲一卡久久| 在线亚洲精品| 在线观看欧美一区| 欧美日韩调教| 久久亚洲午夜电影| 国产精品乱码| 宅男噜噜噜66一区二区| 亚洲午夜精品久久久久久浪潮| 另类av一区二区| 国产精品乱码| 一区二区三区免费看| 伊人精品在线| 激情五月***国产精品| 欧美精品v日韩精品v国产精品| 亚洲主播在线| 国产精品最新自拍| 一区二区国产在线观看| 91久久在线| 亚洲精品自在在线观看| 在线看无码的免费网站| 含羞草久久爱69一区| 欧美色图首页| 国产综合久久| 黄色精品网站| 尤物网精品视频| 亚洲国产一区二区三区高清| 激情五月***国产精品| 国产中文一区二区| 韩日成人在线| 在线看无码的免费网站| 亚洲国产一区二区在线| 最新日韩欧美| 国产视频不卡| 久久动漫亚洲| 午夜久久黄色| 亚洲私人影院| 日韩一区二区久久| 国产精品久久波多野结衣| 国产精品毛片在线| 米奇777在线欧美播放| 久久久久综合| 国模大胆一区二区三区| 亚洲区国产区| 亚洲综合日韩| 欧美精品福利| 亚洲精品影视| 久久久久一区二区三区| 国产精品地址| 国产日韩亚洲| 午夜天堂精品久久久久| 亚洲高清网站| 先锋a资源在线看亚洲| 牛夜精品久久久久久久99黑人| 国产精品99免费看| 日韩视频一区二区三区在线播放免费观看| 99精品免费| 久久亚洲综合| 亚洲日本免费| 久久青青草综合| 亚洲国产日本| 老色鬼久久亚洲一区二区| 激情欧美丁香| 久久久国产精品一区二区中文| 韩国一区二区三区美女美女秀| 99在线观看免费视频精品观看| 久久国产精品99国产| 亚洲性人人天天夜夜摸| 西西人体一区二区| 亚洲午夜精品一区二区| 模特精品在线| 伊人蜜桃色噜噜激情综合| 久久本道综合色狠狠五月| 精品福利电影| 牛夜精品久久久久久久99黑人| 亚洲日本久久| 国产精品分类| 玖玖玖国产精品| 国产农村妇女毛片精品久久莱园子 | 欧美三级乱码| 老鸭窝91久久精品色噜噜导演| 在线免费观看一区二区三区| 欧美在线网站|