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

php實現常見圖片格式的水印和縮略圖制作(面向對象)
來源:易賢網 閱讀:1282 次 日期:2016-08-17 14:41:55
溫馨提示:易賢網小編為您整理了“php實現常見圖片格式的水印和縮略圖制作(面向對象)”,方便廣大網友查閱!

本文實例為大家分享了php水印和縮略圖制作代碼,使用面向對象的方法來實現常見圖片格式jpg,png,gif的水印和縮略圖的制作,供大家參考,具體內容如下

<?php

header('Content-Type:text/html;charset=utf-8');

/* 

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 */

//給圖片添加水印

Class Water{

 //開啟水印

 private $watermark_on = '1';

 public $water_img;

 //水印位置

 public $pos = 1; 

 //壓縮比

 public $pct = 80;

 //透明度

 public $quality = 80;

 public $text = '樂趣網zlblog.sinaapp.com';

 public $size = 12;

 public $color = '#000000';

 public $font = 'font.ttf';

 //thumb的制作

 //默認縮略圖功能開啟

 private $thumb_on = 1;

 //生成縮略圖的方式

 public $thumb_type = 1;

 //生成縮略圖的寬度

 public $thumb_width;

 //生成縮略圖的高度

 public $thumb_height;

 //生成縮略圖的后綴名

 public $thumb_fix = '_dq';

 //縮略圖函數處理

 public function thumb( $img,$outfile='',$t_type='',$t_w='',$t_h='' ){

  //驗證圖片是否符合要求

  if(!$this->check($img) || !$this->thumb_on) return FALSE;

  //定義縮略圖的初始值

  $t_type = $t_type ? $t_type : $this->thumb_type;

  $t_w = $t_w ? $t_w : $this->thumb_width;

  $t_h = $t_h ? $t_h : $this->thumb_height;

  //獲取到原圖的信息

  $img_info = getimagesize($img);

  $img_w = $img_info[0];

  $img_h = $img_info[1];

  //取得圖像類型的文件后綴

  $img_type = image_type_to_extension($img_info[2]);

  //獲取到相關尺寸

  $thumb_size = $this->thumb_size($img_w,$img_h,$t_w,$t_h,$t_type);

  //確定原始圖像類型

  //利用自定義函數來實現圖片類型的確定

  $func = "imagecreatefrom".substr($img_type, 1);

  $res_img = $func($img);

  //縮略圖資源   編輯圖片資源moon

  if( $img_type == '.gif' || $img_type == '.png' ){

   $res_thumb = imagecreate($thumb_size[0], $thumb_size[1]);

   $color = imagecolorallocate($res_thumb, 255, 0, 0);

  }else{

   $res_thumb = imagecreatetruecolor($thumb_size[0], $thumb_size[1]);

  }

  //制作縮略圖

  if(function_exists( "imagecopyresampled" ) ){

   imagecopyresampled($res_thumb, $res_img, 0, 0, 0, 0, $thumb_size[0],$thumb_size[1],$thumb_size[2],$thumb_size[3]);

  }else{

   imagecopyresized($res_thumb, $res_img, 0, 0, 0, 0, $thumb_size[0],$thumb_size[1],$thumb_size[2],$thumb_size[3]);

  }

  //處理透明色

  if( $img_type =='.gif' || $img_type == '.png' ){

   imagecolortransparent($res_thumb,$color);

  }

  //配置輸出文件名

  $outfile = $outfile ? $outfile : $outfile.substr($img,0,strripos($img,'.')).$this->thumb_fix.$img_type;

  //文件的保存輸出

  $func = "image".substr($img_type, 1);

  $func($res_thumb,$outfile);

  if(isset($res_thumb)) imagedestroy ($res_thumb);

  if(isset($res_img)) imagedestroy ($res_img);

  return $outfile;

 } 

 public function watermark( $img,$pos='',$out_img='',$water_img='',$text='' ){

  if(!$this->check($img) || !$this->watermark_on) return false;

  $water_img = $water_img ? $water_img : $this->water_img;

  //水印的開啟狀態

  $waterimg_on = $this->check($water_img) ? 1 : 0;

  //判斷是否在原圖上操作

  $out_img = $out_img ? $out_img : $img;

  //判斷水印的位置

  $pos = $pos ? $pos : $this->pos;

  //水印文字

  $text = $text ? $text : $this->text;

  $img_info = getimagesize($img);

  $img_w = $img_info[0];

  $img_h = $img_info[1];

  //判斷水印圖片的類型

  if( $waterimg_on ){

   $w_info = getimagesize($water_img);

   $w_w = $w_info[0];

   $w_h = $w_info[1];

   if ( $img_w < $w_w || $img_h < $w_h ) return false;

   switch ( $w_info[2] ){

    case 1:

     $w_img = imagecreatefromgif($water_img);

     break;

    case 2:

     $w_img = imagecreatefromjpeg($water_img);

     break;

    case 3:

     $w_img = imagecreatefrompng($water_img);

     break;

   }

  }else{

   if( empty($text) || strlen($this->color)!=7 ) return FALSE;

   $text_info = imagettfbbox($this->size, 0, $this->font, $text);

   $w_w = $text_info[2] - $text_info[6];

   $w_h = $text_info[3] - $text_info[7];

  }

  //建立原圖資源

  switch ( $img_info[2] ){

   case 1:

    $res_img = imagecreatefromgif($img);

    break;

   case 2:

    $res_img = imagecreatefromjpeg($img);

    break;

   case 3:

    $res_img = imagecreatefrompng($img);

    break;

  }

  //確定水印的位置

  switch ( $pos ){

   case 1:

    $x = $y =25;

    break;

   case 2:

    $x = ($img_w - $w_w)/2; 

    $y = 25;

    break;

   case 3:

    $x = $img_w - $w_w;

    $y = 25;

    break;

   case 4:

    $x = 25;

    $y = ($img_h - $w_h)/2;

    break;

   case 5:

    $x = ($img_w - $w_w)/2; 

    $y = ($img_h - $w_h)/2;

    break;

   case 6:

    $x = $img_w - $w_w;

    $y = ($img_h - $w_h)/2;

    break;

   case 7:

    $x = 25;

    $y = $img_h - $w_h;

    break;

   case 8:

    $x = ($img_w - $w_w)/2;

    $y = $img_h - $w_h;

    break;

   case 9:

    $x = $img_w - $w_w;

    $y = $img_h - $w_h;

    break;

   default :

    $x = mt_rand(25, $img_w - $w_w);

    $y = mt_rand(25, $img_h - $w_h);

  }

  //寫入圖片資源

  if( $waterimg_on ){

   imagecopymerge($res_img, $w_img, $x, $y, 0, 0, $w_w, $w_h, $this->pct); 

 }else{

  $r = hexdec(substr($this->color, 1,2));

  $g = hexdec(substr($this->color, 3,2));

  $b = hexdec(substr($this->color, 5,2));

  $color = imagecolorallocate($res_img, $r, $g, $b);

  imagettftext($res_img, $this->size, 0, $x, $y, $color, $this->font, $text); 

 }

 //生成圖片類型

 switch ( $img_info[2] ){

  case 1:

   imagecreatefromgif($res_img,$out_img);

   break;

  case 2:

   //imagecreatefromjpeg($res_img,$out_img);

   imagejpeg($res_img,$out_img);

   break;

  case 3:

   imagepng($res_img,$out_img);

   break;

 }

 if(isset($res_img)) imagedestroy ($res_img);

 if(isset($w_img)) imagedestroy($w_img);

 return TRUE;

 //驗證圖片是否存在

  private function check($img){

   $type = array('.jpg','.jpeg','.png','.gif');

   $img_type = strtolower(strrchr($img, '.'));

   return extension_loaded('gd') && file_exists($img) && in_array($img_type, $type);

  } 

  //獲取縮略圖的相關比例

  //獲取到圖片的處理類型

  private function thumb_size( $img_w,$img_h,$t_w,$t_h,$t_type){

   //定義縮略圖尺寸

   $w = $t_w;

   $h = $t_h;

   //定義圖片的原始尺寸

   $cut_w = $img_w;

   $cut_h = $img_h;

   //當要目標圖像小于縮略圖的尺寸時;

   if( $img_w <= $t_w && $img_h < $t_h ){

    $w = $img_w;

    $h = $img_h;

   }else{

    if( !empty($t_type) && $t_type>0 ){

     switch ( $t_type ){

      //當寬度固定時

      case 1:

       $h = $t_w/$img_w*$img_h;

       break;

      //高度固定時

      case 2:

       $w = $t_h/$img_h*$img_w;

       break;

      //寬度固定,高度裁切

      case 3:

       $cut_h = $img_w/$t_w*$t_h;

       break;

      //高度固定,寬度裁切

      case 4:

       $cut_w = $img_h/$t_h*$t_w;

       break;

      //等比例縮放

      default :

       if( ($img_w/$t_w) > ($img_h/$t_h) ){

        $h = $t_w/$img_w*$t_h;

       }elseif( ($img_w/$t_w) < ($img_h/$t_h) ){

        $w = $t_h/$img_h*$t_w;

       }else{

        $w = $t_w;

        $h = $t_h;

       }

     }

    }

   }

   $arr[0] = $t_w;

   $arr[1] = $t_h;

   $arr[2] = $cut_w;

   $arr[3] = $cut_h;

   return $arr;

 }

}

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

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

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
狠狠综合久久av一区二区老牛| 99精品国产在热久久婷婷| 欧美成人午夜| 欧美日产一区二区三区在线观看| 欧美黄色免费| 亚洲第一精品影视| 久久本道综合色狠狠五月| 欧美日韩国产欧| 中国女人久久久| 欧美在线网址| 国产精品乱子乱xxxx| 欧美日韩国产欧| 国产日韩欧美在线播放不卡| 欧美精品日韩| 亚洲一区二区三区涩| 国产精品豆花视频| 久久国产精品一区二区三区四区| 国产精品二区在线观看| 午夜一级久久| 一区二区91| 激情久久综合| 国产精品vip| 久久久久国产精品午夜一区| 夜夜嗨一区二区| 午夜久久资源| 久久九九99| 99热免费精品| 黄色工厂这里只有精品| 欧美+日本+国产+在线a∨观看| 在线视频亚洲| 99riav国产精品| 狠狠入ady亚洲精品经典电影| 久久av一区二区三区| 亚洲国内精品| 亚洲第一区色| 影音先锋在线一区| 国产主播一区| 欧美精品偷拍| 久久精品欧洲| 欧美一级久久| 性感少妇一区| 久久视频一区| 欧美一区二区三区四区夜夜大片| 免播放器亚洲| 久久久久久亚洲精品杨幂换脸| 国产精品一区在线播放| 亚洲一区二区网站| 午夜亚洲精品| 久久国产直播| 欧美精品国产一区| 国产在线日韩| 99日韩精品| 亚洲专区一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 久久aⅴ国产紧身牛仔裤| 亚洲一区二区伦理| 久久裸体视频| 国产一区日韩欧美| 亚洲免费大片| 国产精品美女久久久浪潮软件| 西西人体一区二区| 午夜精品亚洲| 亚洲国产综合在线看不卡| 亚洲看片网站| 母乳一区在线观看| 午夜国产精品视频免费体验区| 欧美精品二区| 亚洲区一区二区三区| 国产精品试看| 欧美精品一线| av成人天堂| 久久一综合视频| 亚洲激精日韩激精欧美精品| 午夜亚洲性色视频| 狠狠色噜噜狠狠色综合久| 在线视频亚洲| 午夜欧美精品久久久久久久| 伊人影院久久| 久久一区二区精品| 亚洲精品在线二区| 欧美二区在线| 亚洲精品乱码| 久久综合九色综合久99| 亚洲欧洲午夜| 欧美激情性爽国产精品17p| 一本综合精品| 国内成人在线| 久久久久久国产精品mv| 最新日韩av| 欧美在线亚洲综合一区| 99精品视频免费观看| 久久永久免费| 一本一本久久| 激情综合网址| 久久久久久婷| 亚洲综合精品| 亚洲欧洲日本国产| 欧美激情五月| 久久精品国产第一区二区三区最新章节 | 一本一本a久久| 欧美国产91| 国产精品最新自拍| 在线精品亚洲一区二区| 久久综合九色综合久99| 国产日韩欧美一区| 91久久中文| 精品福利电影| 精品不卡视频| 亚洲午夜在线| 欧美日韩一区二区视频在线观看| 亚洲一区二三| 亚洲一区二区三区欧美| 亚洲深夜福利| 一区二区精品| 日韩一区二区免费看| 极品中文字幕一区| 国产一区欧美| 亚洲香蕉网站| 一区久久精品| 一区二区在线不卡| 亚洲精品一区二区三区蜜桃久| 亚洲视频免费| 亚洲国产二区| 日韩午夜高潮| 国产精品久久久久久久久久妞妞| 亚洲精选在线| 宅男噜噜噜66国产日韩在线观看| 一区二区三区免费看| 在线综合欧美| 欧美亚洲三区| 老**午夜毛片一区二区三区| 欧美激情1区2区| 狠狠爱成人网| 一本久久综合| 香蕉久久夜色| 欧美日本在线| 亚洲欧洲日本国产| 欧美亚洲专区| 国产一区日韩一区| 国产欧美三级| 欧美在线视频一区二区三区| 黄色一区三区| 亚洲免费一区二区| 欧美日一区二区在线观看| 在线观看欧美一区| 亚洲制服少妇| 国产精品v亚洲精品v日韩精品| 最新日韩欧美| 久热精品视频| 亚洲国产美女| 久久久久一区二区| 一区二区亚洲精品| 久久国产精品免费一区| 欧美日韩在线精品一区二区三区| 亚洲精华国产欧美| 美女精品在线观看| 亚洲二区三区四区| 久久亚洲综合| 亚洲神马久久| 亚洲天堂男人| 久久久久国产精品一区二区| 亚洲午夜精品国产| 久久精品首页| 99热免费精品在线观看| 欧美a级片一区| 夜夜爽www精品| 很黄很黄激情成人| 久久国产一区| 中文一区在线| 亚洲一二区在线| 久久久久久精| 国产精品裸体一区二区三区| 亚洲国产婷婷香蕉久久久久久99| 久久综合伊人| 午夜亚洲伦理| 一本色道久久综合亚洲精品高清| 国产主播一区| 午夜精品一区二区在线观看| 亚洲欧美日韩专区| 一区二区精品在线| 亚洲高清免费| 亚洲黄色在线| 亚洲高清不卡| 一区二区视频在线观看| 欧美日韩一区二区三区在线观看免 | 欧美日韩亚洲三区| 性刺激综合网| 久久av二区| 亚洲欧美日韩专区| 国产精品手机视频| 亚洲一区久久| 鲁鲁狠狠狠7777一区二区| 亚洲欧美日本视频在线观看| 在线亚洲伦理| 国产精品日韩精品欧美精品| 一本色道88久久加勒比精品| 999亚洲国产精| 国产婷婷精品| 午夜一区不卡| 老鸭窝毛片一区二区三区| 国产精品尤物| 久久午夜av| 欧美日韩国产三区| 亚洲视频福利| 日韩视频一区| 国产精品手机视频| 蜜桃av久久久亚洲精品| 久久午夜影视| 国内精品一区二区| 一区二区三区国产在线| 噜噜爱69成人精品| 欧美日韩亚洲一区在线观看| 99av国产精品欲麻豆| 国产精品一区二区三区观看| 米奇777在线欧美播放| 久久精品男女| 精品91免费| 亚洲视频1区| 久久久水蜜桃| 亚洲夜间福利| 午夜在线播放视频欧美| 欧美日产一区二区三区在线观看| 雨宫琴音一区二区在线| 亚洲免费中文| 国产中文一区| 香蕉久久国产| 悠悠资源网久久精品| 亚洲免费网址| 韩日在线一区| 久久国产精品久久精品国产| 黄色国产精品| 久久国产主播精品| 亚洲午夜精品久久久久久app| 国产亚洲欧洲| 狠狠色综合色区| 久久久久se| 国产精品综合色区在线观看| 亚洲午夜一区| 欧美在线不卡| 国产伦精品一区二区三区视频孕妇 | 在线观看一区欧美| 先锋影音久久| 亚洲精品自在在线观看| 久久精品一区二区国产| 亚洲精品乱码| 国产精品国色综合久久| 久久国产精品一区二区三区| 亚洲精品在线视频观看| 午夜久久资源| 久久精品人人做人人爽电影蜜月| 亚洲精品资源| 狠狠色狠狠色综合日日tαg| 欧美在线免费一级片| 亚洲欧美久久久久一区二区三区| 亚洲二区视频| 黄色成人在线网址| 欧美黄在线观看| 久久精品中文| 久久久精彩视频| 亚洲一区二区三区欧美 | 亚洲婷婷在线| 欧美日韩一区综合| 亚洲精品乱码| 久久久国产亚洲精品| 亚洲精品乱码| 亚洲三级电影在线观看| 韩日视频一区| 精品96久久久久久中文字幕无| 国产精品v亚洲精品v日韩精品 | 一区在线电影| 欧美日本亚洲韩国国产| 欧美久久视频| 国产精品av久久久久久麻豆网| 欧美激情1区2区| 亚洲欧美综合| 国产一区二区无遮挡| 国产一区日韩欧美| 极品尤物久久久av免费看| 精品成人久久| 99日韩精品| 亚洲一区三区视频在线观看| 欧美亚洲自偷自偷| 久久亚洲高清| 欧美亚韩一区| 亚洲激情二区| 国产一区二区三区成人欧美日韩在线观看 | 亚洲福利一区| 一本久道久久综合狠狠爱| 国产精品一区二区三区四区五区| 久久xxxx精品视频| 欧美视频福利| 亚洲理伦在线| 久久riav二区三区| 欧美日韩视频| 亚洲精品国产系列| 久久九九99| 亚洲午夜精品国产| 亚洲一区综合| 国产精品yjizz| 亚洲美女啪啪| 欧美一区二区三区四区在线观看地址| 欧美日韩三级| 中文欧美日韩| 欧美精品二区| 99热在线精品观看| 亚洲欧美亚洲| 99国产精品久久久久久久成人热 | 欧美日韩亚洲一区二区三区四区| 一区在线免费| 久久久水蜜桃av免费网站| 国内激情久久| 欧美在线播放一区| 亚洲亚洲精品三区日韩精品在线视频| 在线视频观看日韩| 亚洲一区二区在| 亚洲天堂激情| 欧美在线免费一级片| 亚洲精品黄色| 欧美日韩免费| 久久九九国产| 国产午夜精品一区二区三区欧美 | 欧美成人69av| 国产一区二区三区高清| 狠狠色综合网站久久久久久久| 午夜亚洲影视| 影音先锋一区| 欧美日韩三区| 欧美一区二区三区在线免费观看 | 亚洲中午字幕| 91久久黄色| 亚洲一二三区精品| 欧美伊人久久| 欧美伊人久久| 欧美一区1区三区3区公司| 伊人久久婷婷| 国产精品豆花视频| 欧美黄色一区| 久热精品视频| 久久午夜电影| 久久久久国内| 欧美一级二区| 麻豆成人在线播放| 美女国产精品| 久久综合图片| 欧美深夜福利| 欧美日本韩国一区二区三区| 欧美粗暴jizz性欧美20| 欧美激情视频一区二区三区在线播放| 麻豆av一区二区三区久久| 久久精品一区| 欧美成人综合一区| 国产精品啊v在线| 亚洲天堂男人| 99国产精品视频免费观看一公开| 亚洲美女少妇无套啪啪呻吟| 99国内精品| 国产精品视频久久一区| 久久成人一区| 欧美黄色一区二区| 欧美日本不卡| 在线免费观看一区二区三区| 亚洲欧洲另类| 国产精品日韩欧美一区| 亚洲欧美日韩精品在线| 你懂的国产精品永久在线| 国内精品久久久久久久97牛牛 | 国产在线一区二区三区四区| 久久久精彩视频| 亚洲综合另类| 蜜桃久久av| 国产精品国产三级国产专区53| 黄色国产精品| 中文有码久久| 老牛影视一区二区三区| 欧美日韩国产成人精品| 亚洲香蕉网站| 国产精品毛片一区二区三区| 新67194成人永久网站| 欧美二区在线| 亚洲免费观看| 久久激情网站| 亚洲国产高清一区二区三区| 亚洲综合二区| 国产综合精品| 亚洲专区一区| 影音先锋久久久| 欧美亚洲一区| 亚洲第一黄网| 久久久久一区二区三区| 亚洲人体大胆视频| 欧美国产91| 国产精品美女久久久浪潮软件| 欧美一区影院| 日韩视频在线播放| 欧美成人免费在线| 国产精品日韩高清| 影音欧美亚洲| 欧美日韩国产探花| 午夜在线一区| 亚洲精品乱码久久久久久蜜桃麻豆|