亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php上傳圖片加水印,圖片水印,文字水印

2024-09-04 11:44:23
字體:
來源:轉載
供稿:網友

這是一款比較完整的在用戶上傳圖片時就自動給圖片增加上水印,這款增加水印功能可以增加文字水印與圖片水印,實例代碼如下:

  1. /* 
  2.  * created on 2010-6-21 
  3.  * 
  4.  * the class for control image 
  5.  * 
  6.  * made by s71ence 
  7.  * 
  8.  * @$img_path 圖片路徑 
  9.  * @$is_auto_reduce 圖片是否自動按照大小等級壓縮 1是 
  10.  * @$is_appoint 是否手動進行壓縮或放大 1是 
  11.  * @$multiple 手動指定壓縮/放大比例 
  12.  * @$is_water_str 是否加水印文字 1是 
  13.  * @$water_str 水印文字 
  14.  * @$is_watermark 是否加水印圖片 1是 
  15.  * @$logo_path 水印圖片路徑 
  16.  * @$is_display 是否顯示圖片 1是 
  17.  * @$is_create 是否生成壓縮后的圖片 1是 
  18.  * 
  19.  * 注: 
  20.  * 1.生成新圖時不可顯示圖片,即$isdisplay和$iscreate不可同時置為1 
  21.  * 2.當圖片寬或高小于1000時,需手動設置壓縮比例進行壓縮 
  22.  * 3.不建議啟用水印,若要啟用,建議原圖片大小最好在1000以內 
  23.  * 4.水印文字中不可含有中文 
  24.  * 5.新生成的圖片在原目錄文件中,支持n個層級 
  25.  */ 
  26.  
  27.  class image_control 
  28.  { 
  29.   private $img_path
  30.   private $is_auto_reduce
  31.   private $is_appoint
  32.   private $multiple
  33.   private $is_water_str
  34.   private $water_str
  35.   private $is_watermark
  36.   private $logo_path
  37.   private $is_display
  38.   private $is_create
  39.  
  40.   function __construct($img_path,$is_auto_reduce,$is_appoint,$multiple,$is_water_str,$water_str,$is_watermark,$logo_path,$is_display,$is_create
  41.   { 
  42.    $this->img_path=$img_path
  43.    $this->is_auto_reduce=$is_auto_reduce
  44.    $this->is_appoint=$is_appoint
  45.    $this->multiple=$multiple
  46.    $this->is_water_str=$is_water_str
  47.    $this->water_str=$water_str
  48.    $this->is_watermark=$is_watermark
  49.    $this->logo_path=$logo_path
  50.    $this->is_display=$is_display
  51.    $this->is_create=$is_create
  52.   } 
  53.  
  54.   function img_control() 
  55.   { 
  56.   //獲取原圖 
  57.   $img_info=getimagesize($this->img_path); 
  58.  
  59.   switch($img_info[2]) 
  60.   { 
  61.    case 1: 
  62.     $img_get=@imagecreatefromgif($this->img_path); 
  63.    break
  64.  
  65.    case 2: 
  66.     $img_get=@imagecreatefromjpeg($this->img_path); 
  67.    break
  68.  
  69.    case 3: 
  70.     $img_get=@imagecreatefrompng($this->img_path); 
  71.    break
  72.   } 
  73.  
  74.   //文字水印 
  75.   if($this->is_water_str==1) 
  76.   { 
  77.    //imagettftext(原圖,文字大小,文字旋轉,水印起始坐標x,水印起始坐標y,$te,'simhei.ttf',$str); 
  78.    $te=imagecolorallocate($img_get,255,255,255); 
  79.    $str=iconv("gbk","utf-8",$this->water_str);//水印文字 
  80.    imagettftext($img_get,16,0,$img_info[0]-200,$img_info[1]-20,$te,'msyh.ttf',$str); 
  81.   } 
  82.  
  83.   //圖片水印 
  84.   if($this->is_watermark==1) 
  85.   { 
  86.    //水印圖片處理 
  87.    $logo_info=getimagesize($this->logo_path); 
  88.  
  89.    switch($logo_info[2]) 
  90.    { 
  91.     case 1: 
  92.      $logo=@imagecreatefromgif($this->logo_path); 
  93.     break
  94.  
  95.     case 2: 
  96.      $logo=@imagecreatefromjpeg($this->logo_path); 
  97.     break
  98.  
  99.     case 3: 
  100.      $logo=@imagecreatefrompng($this->logo_path); 
  101.     break
  102.    } 
  103.  
  104.    //水印logo圖片 
  105.    //函數說明:imagecopy(原圖,水印圖片,水印坐標x,水印坐標y,水印圖片開始坐標x,水印圖片開始坐標y,'水印圖片寬','水印圖片高'); 
  106.    imagecopy($img_get,$logo,0,0,0,0,$logo_info[0],$logo_info[1]); 
  107.   } 
  108.  
  109.   //自動圖片壓縮 按圖片大小分級自動壓縮 
  110.   //imagecopyresized(畫布,原圖,畫布起始x坐標,畫布起始y坐標,原圖起始x坐標,原圖起始x坐標,新圖片寬,新圖片高,原圖片寬,原圖片高); 
  111.   if($this->is_auto_reduce==1) 
  112.   { 
  113.    if($img_info[0]>=3000 || $img_info[1]>=3000) 
  114.    { 
  115.     $new_image_get=imagecreatetruecolor($img_info[0]*0.03,$img_info[1]*0.03);//生成畫布 
  116.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*0.03,$img_info[1]*0.03,$img_info[0],$img_info[1]); 
  117.    } 
  118.    else if($img_info[0]>=2500 || $img_info[1]>=2500) 
  119.    { 
  120.     $new_image_get=imagecreatetruecolor($img_info[0]*0.04,$img_info[1]*0.04); 
  121.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*0.04,$img_info[1]*0.04,$img_info[0],$img_info[1]); 
  122.    } 
  123.    else if($img_info[0]>=2000 || $img_info[1]>=2000) 
  124.    { 
  125.     $new_image_get=imagecreatetruecolor($img_info[0]*0.05,$img_info[1]*0.05); 
  126.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*0.05,$img_info[1]*0.05,$img_info[0],$img_info[1]); 
  127.    } 
  128.    else if($img_info[0]>=1500 || $img_info[1]>=1500) 
  129.    { 
  130.     $new_image_get=imagecreatetruecolor($img_info[0]*0.08,$img_info[1]*0.08); 
  131.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*0.08,$img_info[1]*0.08,$img_info[0],$img_info[1]); 
  132.    } 
  133.    else if($img_info[0]>=1000 || $img_info[1]>=1000) 
  134.    { 
  135.     $new_image_get=imagecreatetruecolor($img_info[0]*0.1,$img_info[1]*0.1); 
  136.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*0.1,$img_info[1]*0.1,$img_info[0],$img_info[1]); 
  137.    } 
  138.    else if($img_info[0]>=500 || $img_info[1]>=500) 
  139.    { 
  140.     $new_image_get=imagecreatetruecolor($img_info[0]*0.2,$img_info[1]*0.2); 
  141.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*0.2,$img_info[1]*0.2,$img_info[0],$img_info[1]); 
  142.    } 
  143.    else if($img_info[0]>=300 || $img_info[1]>=300) 
  144.    { 
  145.     $new_image_get=imagecreatetruecolor($img_info[0]*0.3,$img_info[1]*0.3); 
  146.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*0.3,$img_info[1]*0.3,$img_info[0],$img_info[1]); 
  147.    } 
  148.    else 
  149.    { 
  150.     $new_image_get=imagecreatetruecolor($img_info[0]*1,$img_info[1]*1); 
  151.     imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*1,$img_info[1]*1,$img_info[0],$img_info[1]); 
  152.    } 
  153.   } 
  154.  
  155.   //手動圖片壓縮 
  156.   //imagecopyresized(畫布,原圖,畫布起始x坐標,畫布起始y坐標,原圖起始x坐標,原圖起始x坐標,新圖片寬,新圖片高,原圖片寬,原圖片高); 
  157.   if($this->is_appoint) 
  158.   { 
  159.    $new_image_get=imagecreatetruecolor($img_info[0]*$this->multiple,$img_info[1]*$this->multiple);//生成畫布 
  160.    imagecopyresized($new_image_get,$img_get,0,0,0,0,$img_info[0]*$this->multiple,$img_info[1]*$this->multiple,$img_info[0],$img_info[1]); 
  161.   } 
  162.  
  163.   //圖像輸出 
  164.   if($this->is_display==1) 
  165.   { 
  166.    header("content-type: image/jpeg"); 
  167.    return imagejpeg($new_image_get); 
  168.   } 
  169.  
  170.   //新圖像生成 
  171.   if($this->is_create==1) 
  172.   { 
  173.    $new_name=explode("/",$this->img_path); 
  174.    $new_name_string=""
  175.  
  176.    for($i=0;$i<count($new_name)-1;$i++) 
  177.    { 
  178.     $new_name_string.=$new_name[$i]."/"
  179.    } 
  180.  
  181.    $new_img_path=$new_name_string."new".$new_name[$i]; 
  182.  
  183.    if(imagejpeg($new_image_get,$new_img_path) && imagejpeg($img_get,$this->img_path)) 
  184.    { 
  185.     setcookie("img_new_path"$new_img_path); 
  186.        //return "圖片生成成功!<br/>新圖:".$new_img_path."<br/>原圖:".$this->img_path; 
  187.    } 
  188.    else 
  189.    { 
  190.     return "圖片生成失敗,請檢查配置是否正確!"
  191.    } 
  192.   } 
  193.   } 
  194.  
  195.   function __desctruct() 
  196.   { 
  197.    //clear 
  198.   } 
  199.  } 
  200.  //開源代碼Vevb.com 
  201. //調用方法,代碼如下: 
  202.  
  203. /* $img_path="../users/user_photo/t2.jpg"; //被操作的圖片路徑 
  204.  $is_auto_reduce=1;//圖片是否自動按照大小等級壓縮 1是 
  205.  $is_appoint=0;//是否手動進行壓縮 1是 
  206.  $multiple=0.5;//手動指定壓縮比例 
  207.  $is_water_str=0;//是否加水印文字 
  208.  $water_str="www.111cn.net";//水印文字 
  209.  $is_watermark=0;//是否加水印圖片 1是 
  210.  $logo_path="../image/logo_about.gif";//水印圖片路徑 
  211.  $is_display=0;//是否顯示圖片 1是 
  212.  $is_create=1;//是否生成壓縮后的圖片 1是 
  213.  $img=new image_control($img_path,$is_auto_reduce,$is_appoint,$multiple,$is_water_str,$water_str,$is_watermark,$logo_path,$is_display,$is_create); 
  214.  echo $img->img_control();*/ 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品www| 福利视频第一区| 日韩免费精品视频| 亚洲欧美日韩精品| 欧美理论电影在线观看| 91久久精品国产91性色| 精品日韩中文字幕| 成人国产精品久久久久久亚洲| 欧美日韩黄色大片| 少妇激情综合网| 国产亚洲欧美日韩一区二区| 国产成人av网| 中文字幕精品影院| 久久久久女教师免费一区| 亚洲a级在线观看| 亚洲成人黄色在线| 欧美巨乳在线观看| 亚洲一区二区三区xxx视频| 亚洲18私人小影院| 亚洲自拍偷拍色片视频| 国产精品一区电影| 国产精品视频久久久久| 亚洲精品小视频| 国产成人精品a视频一区www| 亚洲精品白浆高清久久久久久| 日韩免费在线观看视频| 国产精品福利小视频| 国产精品自产拍在线观| 中文字幕在线国产精品| 久久精品视频亚洲| 欧美激情精品久久久久久| 中文字幕无线精品亚洲乱码一区| 亚洲成人动漫在线播放| 亚洲在线免费视频| 欧美日韩亚洲一区二区三区| 91亚洲午夜在线| 欧美激情啊啊啊| 久久久久久69| 国产精品一区二区av影院萌芽| 欧美一区二区三区艳史| 国产欧美日韩91| 国产成人一区二区在线| 欧美小视频在线| 精品视频在线播放色网色视频| 在线视频日韩精品| 7777精品久久久久久| 国产精品视频999| 国产精品私拍pans大尺度在线| 日韩网站免费观看| 亚洲欧洲在线免费| 国产亚洲精品久久久久久牛牛| 成人在线视频福利| 性欧美xxxx视频在线观看| 日韩一区二区久久久| 欧美夫妻性生活xx| 国产一区二区三区免费视频| 久久久国产精品亚洲一区| 久久天天躁日日躁| 黑人巨大精品欧美一区二区免费| 亚洲精品在线看| 国产成人91久久精品| 伊人伊成久久人综合网小说| 国产精品美女无圣光视频| 国产成人精品国内自产拍免费看| 国产精品综合网站| 日韩高清电影好看的电视剧电影| 亚洲视频综合网| 亚洲欧美在线一区二区| 国产精品777| 粗暴蹂躏中文一区二区三区| 成人免费黄色网| 亚洲精品免费在线视频| 国产精品va在线播放我和闺蜜| 成人综合国产精品| 国产成人综合久久| 中文字幕国产亚洲| 成人免费视频xnxx.com| 日韩经典中文字幕在线观看| 国产精品美女主播在线观看纯欲| 日韩在线精品一区| 国产成人在线精品| 欧美日韩午夜激情| 一区二区av在线| 亚洲欧美精品伊人久久| 久久精品国产一区二区电影| 久久99精品视频一区97| 亚洲综合日韩中文字幕v在线| 国产极品jizzhd欧美| 韩国一区二区电影| 久久久久久国产精品久久| 国产极品精品在线观看| 久久精品国产2020观看福利| 国产精品免费福利| 国产精品一区二区三区成人| 欧美肥臀大乳一区二区免费视频| 亚洲男人天堂网站| 国产99在线|中文| 欧美成人午夜激情在线| 91tv亚洲精品香蕉国产一区7ujn| 青青草原一区二区| 国产精品第1页| 色综合91久久精品中文字幕| 久久伊人色综合| 91av在线播放| 中文字幕av一区中文字幕天堂| 一区二区三区视频免费在线观看| 日本成人精品在线| 亚洲国产一区自拍| 91九色视频在线| 亚洲a级在线播放观看| 日本久久久久久久久| 亚洲第一av网站| 成人日韩av在线| 亚洲伊人久久大香线蕉av| 国产精品欧美日韩| 精品久久久久久久久久| 欧美精品videosex极品1| 国产成人精品a视频一区www| 久久精品人人爽| 久久亚洲国产精品成人av秋霞| 国内精品伊人久久| 亚洲男人av电影| 国产精品网红直播| 性欧美办公室18xxxxhd| 亚洲电影在线观看| 国产精品久久91| 亚洲欧美日韩国产中文专区| 亚洲白拍色综合图区| 国产精品免费观看在线| 国产成人免费91av在线| 亚洲国产黄色片| www.亚洲男人天堂| 91系列在线观看| 国产精品第一视频| 色噜噜狠狠狠综合曰曰曰| 曰本色欧美视频在线| 黑丝美女久久久| 亚洲精品一区久久久久久| 日本一区二区三区四区视频| 蜜臀久久99精品久久久久久宅男| 黑人巨大精品欧美一区二区三区| 日韩欧美在线中文字幕| 日韩欧美在线国产| 久久精品人人爽| 91豆花精品一区| 成人h片在线播放免费网站| 国产综合在线观看视频| 日韩中文字幕网址| 久久成人免费视频| 亚洲国模精品私拍| 97在线视频一区| 色噜噜狠狠狠综合曰曰曰88av| 国产精品中文久久久久久久| 最新亚洲国产精品| 国产精品第2页| 欧美日韩免费一区| 欧美成人剧情片在线观看| 久久精品成人欧美大片古装| 国产精品久久一区主播| 91精品国产综合久久久久久蜜臀| 亚洲xxxx做受欧美| 国产精品美乳一区二区免费| 国产精品香蕉在线观看| 日韩在线视频线视频免费网站|