中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

php實現圖片上傳時添加文字和圖片水印技巧
來源:易賢網 閱讀:1684 次 日期:2016-08-17 14:36:26
溫馨提示:易賢網小編為您整理了“php實現圖片上傳時添加文字和圖片水印技巧”,方便廣大網友查閱!

本文實現的功能特別適用于一些商城和圖片站中,分享了圖片在上傳時添加文字和圖片水印的技巧,供大家參考,具體內容如下

1. water.class.php

<?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';

  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:

      imagejpeg($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);

    } 

}

2. test1.php

<?php

/* 

 * 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.

 */

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

include 'water.class.php';

$image = new Water();

$image->watermark('12.jpg',5);

//$image->watermark('12.jpg',1);

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

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲高清在线观看| 久久九九国产| 91久久久亚洲精品| 久久激情婷婷| 欧美吻胸吃奶大尺度电影| 一区二区三区亚洲| 亚洲一区二区四区| 国产精品va在线播放| 亚洲免费高清| 麻豆亚洲精品| 国产女人水真多18毛片18精品视频| 午夜精品影院| 国产精品欧美风情| 亚洲欧美另类综合偷拍| 国产精品盗摄久久久| 在线日本成人| 欧美精品在线观看| 国产精品99久久不卡二区| 国产精品久久久久久久久果冻传媒 | 一区二区三区无毛| 麻豆精品网站| 国产精品亚洲综合天堂夜夜 | 裸体素人女欧美日韩| 国产亚洲精品久久飘花 | 中文欧美在线视频| 国产伦精品一区二区三区| 欧美伊久线香蕉线新在线| 在线看日韩av| 欧美久久九九| 久久精品国产99| 日韩写真在线| 国精产品99永久一区一区| 欧美激情精品久久久六区热门 | 欧美日韩一卡二卡| 性欧美激情精品| 亚洲国产欧美日韩另类综合| 欧美日韩中字| 欧美xx69| 欧美一区二区三区在线免费观看| 一区二区三区在线观看欧美| 欧美日韩在线视频观看| 久久午夜电影网| 欧美ed2k| 亚洲视频电影在线| 亚洲肉体裸体xxxx137| 国产午夜精品久久| 国产精品高潮在线| 欧美三级视频在线| 欧美国产精品人人做人人爱| 久久精品在线| 先锋影音网一区二区| 日韩网站在线看片你懂的| 狠狠色2019综合网| 国产精品免费观看视频| 欧美国产先锋| 免费一级欧美片在线播放| 巨乳诱惑日韩免费av| 久久国产主播精品| 国产麻豆综合| 欧美精品三级日韩久久| 老司机精品福利视频| 久久精品青青大伊人av| 亚洲欧美中日韩| 欧美先锋影音| 免费不卡在线观看| 久久久久一本一区二区青青蜜月| 一区二区激情| 亚洲欧美一区二区三区在线| 亚洲一二三区在线| 亚洲欧美日韩在线一区| 在线亚洲免费| 欧美亚洲日本网站| 久久在线免费观看视频| 欧美11—12娇小xxxx| 男女精品网站| 欧美日韩另类视频| 国产精品家教| 欧美日韩另类综合| 欧美视频1区| 国产一区二区视频在线观看 | 欧美不卡激情三级在线观看| 欧美freesex8一10精品| 欧美三级免费| 国产亚洲欧美激情| 亚洲美女啪啪| 久久久久久久一区二区三区| 欧美二区在线| 欧美国产日韩一二三区| 欧美区视频在线观看| 国产精品扒开腿做爽爽爽软件| 国产一区二区三区免费观看| 欧美高清一区| 国产农村妇女精品一区二区| 国产婷婷成人久久av免费高清 | 欧美日韩国产区一| 国产视频一区在线观看| 日韩图片一区| 久久成人这里只有精品| 免费观看成人www动漫视频| 国产精品99免视看9| 亚洲国产欧美一区二区三区同亚洲 | 欧美激情乱人伦| 国产亚洲欧洲| 欧美在线观看日本一区| 国产精品啊v在线| 99国产精品国产精品久久| 可以看av的网站久久看| 韩国av一区二区三区| 欧美亚一区二区| 在线亚洲成人| 欧美视频不卡| 亚洲一区二区视频| 亚洲欧洲中文日韩久久av乱码| 久久久人人人| 亚洲国产精品成人久久综合一区| 亚洲男女自偷自拍图片另类| 欧美日韩免费一区二区三区| 99国产精品一区| 欧美另类专区| 一本久道久久综合狠狠爱| 欧美日韩精品综合在线| 亚洲天堂av综合网| 国产精品h在线观看| 欧美一区二区三区久久精品茉莉花| 国产精品久久久久久久久久免费 | 狠狠v欧美v日韩v亚洲ⅴ| 久久久国产精品一区| 国模一区二区三区| 国产精品每日更新在线播放网址| 一区二区三区|亚洲午夜| 国内外成人在线| 久久久久国产精品厨房| 精东粉嫩av免费一区二区三区| 免费成人av在线| 亚洲韩国一区二区三区| 牛牛精品成人免费视频| 亚洲国内精品| 欧美视频福利| 香蕉国产精品偷在线观看不卡| 欧美日韩亚洲国产精品| 久久婷婷国产麻豆91天堂| 亚洲国产精品视频| 国产精品乱子久久久久| 欧美久久一级| 麻豆亚洲精品| 久久综合九色综合欧美狠狠| 亚洲一区视频| 亚洲欧美影院| 91久久在线播放| 欧美国产日韩二区| 午夜精品久久久久99热蜜桃导演| 亚洲在线观看视频网站| 亚洲午夜三级在线| 亚洲一区二三| 欧美亚洲一区二区三区| 亚洲一区中文| 性做久久久久久免费观看欧美| 午夜一区不卡| 六月婷婷一区| 欧美精品二区| 国产精品久久久久久亚洲毛片| 欧美日韩亚洲一区二区三区在线| 能在线观看的日韩av| 欧美日韩ab片| 国产美女一区| 黄色亚洲网站| 亚洲国产精品第一区二区 | 亚洲国产一区二区三区青草影视| 亚洲成人在线免费| 99在线精品观看| 欧美伊人精品成人久久综合97| 欧美大尺度在线| 国产精品一区二区在线观看| 亚洲第一福利在线观看| 午夜精品福利视频| 国产精品扒开腿做爽爽爽软件| 欧美在线观看视频一区二区三区 | 亚洲精品一区二区三区在线观看| 亚洲福利视频一区| 99视频热这里只有精品免费| 午夜国产精品影院在线观看| 久久精品在线观看| 欧美人与性动交a欧美精品| 国产精品私房写真福利视频| 亚洲国产成人porn| 先锋影院在线亚洲| 欧美日韩另类一区| 激情av一区二区| 亚洲一区二区在线看| 女女同性精品视频| 国产欧美精品在线观看| 亚洲国产精品第一区二区| 亚洲一区国产视频| 美女网站在线免费欧美精品| 欧美香蕉视频| 亚洲乱码一区二区| 久久中文在线| 国产一区二区中文| 亚洲欧洲av一区二区| 欧美日韩国产页|