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

首頁 > 語言 > PHP > 正文

php上傳圖片并生成縮位圖代碼

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

php上傳圖片并生成縮位圖代碼,我們時常要上傳圖片,但也要保留自己的版權所以就會用到圖片加水印哦,下面的程序就是上傳圖片成功后再給圖片加上你自己做的水印效果,實例代碼如下:

  1. <?php 
  2.  
  3. class Image { 
  4.  var $imageResource = NULL; 
  5.  var $target = NULL; 
  6.  var $enableTypes = array(); 
  7.  var $imageInfo = array(); 
  8.  var $createFunc = ''
  9.  var $imageType = NULL; 
  10.  
  11.  /** 
  12.   * Construct for this class 
  13.   * 
  14.   * @param string $image 
  15.   * @return Image 
  16.   */ 
  17.  function Image($image = NULL) { 
  18.   //get enables 
  19.   if(imagetypes() & IMG_GIF) { 
  20.    $this->enableTypes[] = 'image/gif'
  21.   } 
  22.   if(imagetypes() & IMG_JPEG) { 
  23.    $this->enableTypes[] = 'image/jpeg'
  24.   } 
  25.   if (imagetypes() & IMG_JPG) { 
  26.    $this->enableTypes[] = 'image/jpg'
  27.   } 
  28.   if(imagetypes() & IMG_PNG) { 
  29.    $this->enableTypes[] = 'image/png'
  30.   } 
  31.   //end get 
  32.    
  33.   if($image != NULL) { 
  34.    $this->setImage($image); 
  35.   } 
  36.  } 
  37.  
  38.  /** 
  39.   * set a image resource 
  40.   * 
  41.   * @param string $image 
  42.   * @return boolean 
  43.   */ 
  44.  function setImage($image) { 
  45.   if(file_exists($image) && is_file($image)) { 
  46.    $this->imageInfo = getimagesize($image); 
  47.    $img_mime = strtolower($this->imageInfo['mime']); 
  48.    if(!in_array($img_mime$this->enableTypes)) { 
  49.     exit('系統不能操作這種圖片類型.'); 
  50.    } 
  51.    switch ($img_mime) { 
  52.     case 'image/gif'
  53.      $link = imagecreatefromgif($image); 
  54.      $this->createFunc = 'imagegif'
  55.      $this->imageType = 'gif'
  56.      break
  57.     case 'image/jpeg'
  58.     case 'image/jpg'
  59.      $link = imagecreatefromjpeg($image); 
  60.      $this->createFunc = 'imagejpeg'
  61.      $this->imageType = 'jpeg'
  62.      break
  63.     case 'image/png'
  64.      $link = imagecreatefrompng($image); 
  65.      $this->createFunc = 'imagepng'
  66.      $this->imageType = 'png'
  67.      break
  68.     default
  69.      $link = 'unknow'
  70.      $this->imageType = 'unknow'
  71.      break
  72.    } 
  73.    if($link !== 'unknow') { 
  74.     $this->imageResource = $link
  75.    } else { 
  76.     exit('這種圖片類型不能改變尺寸.'); 
  77.    } 
  78.    unset($link); 
  79.    return true; 
  80.   } else { 
  81.    return false; 
  82.   } 
  83.  } 
  84.  
  85.  /** 
  86.   * set header 
  87.   * 
  88.   */ 
  89.  function setHeader() { 
  90.   switch ($this->imageType) { 
  91.    case 'gif'
  92.     header('content-type:image/gif'); 
  93.     break
  94.    case 'jpeg'
  95.     header('content-type:image/jpeg'); 
  96.     break
  97.    case 'png'
  98.     header('content-type:image/png'); 
  99.     break
  100.    default
  101.     exit('Can not set header.'); 
  102.     break
  103.   } 
  104.   return true; 
  105.  }//開源代碼Vevb.com 
  106.  
  107.  /** 
  108.   * change the image size 
  109.   * 
  110.   * @param int $width 
  111.   * @param int $height 
  112.   * @return boolean 
  113.   */ 
  114.  function changeSize($width$height = -1) { 
  115.   if(!is_resource($this->imageResource)) { 
  116.    exit('不能改變圖片的尺寸,可能是你沒有設置圖片來源.'); 
  117.   } 
  118.   $s_width = $this->imageInfo[0]; 
  119.   $s_height = $this->imageInfo[1]; 
  120.   $width = intval($width); 
  121.   $height = intval($height); 
  122.    
  123.   if($width <= 0) exit('圖片寬度必須大于零.'); 
  124.   if($height <= 0) { 
  125.    $height = ($s_height / $s_width) * $width
  126.   } 
  127.    
  128.   $this->target = imagecreatetruecolor($width$height); 
  129.   if(@imagecopyresized($this->target, $this->imageResource, 0, 0, 0, 0, $width$height$s_width$s_height)) 
  130.    return true; 
  131.   else  
  132.    return false; 
  133.  } 
  134.  
  135.  /** 
  136.   * Add watermark 
  137.   * 
  138.   * @param string $image 
  139.   * @param int $app 
  140.   */ 
  141.  function addWatermark($image$app = 50) { 
  142.   if(file_exists($image) && is_file($image)) { 
  143.    $s_info = getimagesize($image); 
  144.   } else { 
  145.    exit($image . '文件不存在.'); 
  146.   } 
  147.  
  148.   $r_width = $s_info[0]; 
  149.   $r_height = $s_info[1]; 
  150.  
  151.   if($r_width > $this->imageInfo[0]) exit('水印圖片必須小于目標圖片'); 
  152.   if($r_height > $this->imageInfo[1]) exit('水印圖片必須小于目標圖片'); 
  153.    
  154.   switch ($s_info['mime']) { 
  155.    case 'image/gif'
  156.     $resource = imagecreatefromgif($image); 
  157.     break
  158.    case 'image/jpeg'
  159.    case 'image/jpg'
  160.     $resource = imagecreatefromjpeg($image); 
  161.     break
  162.    case 'image/png'
  163.     $resource = imagecreatefrompng($image); 
  164.     break
  165.    default
  166.     exit($s_info['mime'] .'類型不能作為水印來源.'); 
  167.     break
  168.   } 
  169.    
  170.   $this->target = &$this->imageResource; 
  171.   imagecopymerge($this->target, $resource$this->imageInfo[0] - $r_width - 5, $this->imageInfo[1] - $r_height - 5, 0,0 ,$r_width$r_height$app); 
  172.   imagedestroy($resource); 
  173.   unset($resource); 
  174.  } 
  175.  
  176.  /** 
  177.   * create image 
  178.   * 
  179.   * @param string $name 
  180.   * @return boolean 
  181.   */ 
  182.  function create($name = NULL) { 
  183.   $function = $this->createFunc; 
  184.   if($this->target != NULL && is_resource($this->target)) { 
  185.    if($name != NULL) { 
  186.     $function($this->target, $name); 
  187.    } else { 
  188.     $function($this->target); 
  189.    } 
  190.    return true; 
  191.   } else if($this->imageResource != NULL && is_resource($this->imageResource)) { 
  192.    if($name != NULL) { 
  193.     $function($this->imageResource, $name); 
  194.    } else { 
  195.     $function($this->imageResource); 
  196.    } 
  197.    return true; 
  198.   } else { 
  199.    exit('不能創建圖片,原因可能是沒有設置圖片來源.'); 
  200.   } 
  201.  } 
  202.  
  203.  /** 
  204.   * free resource 
  205.   * 
  206.   */ 
  207.  function free() { 
  208.   if(is_resource($this->imageResource)) { 
  209.    @imagedestroy($this->imageResource); 
  210.   } 
  211.   if(is_resource($this->target)) { 
  212.    @imagedestroy($this->target); 
  213.   } 
  214.  } 
  215. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
毛片精品免费在线观看| 国产成人久久精品| 久久久女人电视剧免费播放下载| 欧美乱人伦中文字幕在线| 欧美激情一区二区三区成人| 精品在线欧美视频| 国产精品久久久久久一区二区| 欧洲亚洲免费视频| 亚洲成年人影院在线| 精品无人区乱码1区2区3区在线| 亚洲天堂一区二区三区| 57pao成人永久免费视频| 色诱女教师一区二区三区| 亚洲国产小视频| 日韩中文字幕国产精品| 日韩中文字幕第一页| 亚洲人成免费电影| 欧美性极品xxxx做受| 日韩电影免费观看在线| 精品少妇v888av| 国产小视频91| 欧美限制级电影在线观看| 久久九九国产精品怡红院| 日韩av在线免费观看| 91av视频在线播放| 国外成人在线视频| 日韩av免费一区| 亚洲自拍另类欧美丝袜| 精品日本美女福利在线观看| 57pao成人国产永久免费| 国产中文欧美精品| 国产精品久久久久久婷婷天堂| 日韩精品视频在线免费观看| 国产精品男女猛烈高潮激情| 欧美影院久久久| 国产日韩欧美在线观看| 精品国产一区二区三区久久狼黑人| 精品欧美国产一区二区三区| 成人久久18免费网站图片| 欧美一区三区三区高中清蜜桃| 97久久精品视频| 亚洲精品久久久一区二区三区| 午夜精品一区二区三区在线| 中文字幕欧美日韩| 国产成+人+综合+亚洲欧洲| 欧美三级欧美成人高清www| 26uuu日韩精品一区二区| 91久久精品国产91性色| 国产精品亚洲综合天堂夜夜| 97精品国产97久久久久久春色| 91久久国产综合久久91精品网站| 成人做爽爽免费视频| 一区二区三区www| 欧美日韩国产精品| 综合av色偷偷网| 亚洲精品黄网在线观看| 国产精品扒开腿做爽爽爽视频| 亚洲欧洲在线看| 国产精品成人一区| 国产成人97精品免费看片| 91中文字幕在线| 日本午夜精品理论片a级appf发布| 国产亚洲一区精品| 成人高清视频观看www| 国产成人精品午夜| 欧美午夜激情小视频| 色伦专区97中文字幕| 精品中文字幕在线观看| 国产精品久久久久久久久男| 懂色aⅴ精品一区二区三区蜜月| 福利一区福利二区微拍刺激| 中文字幕亚洲无线码a| 国产美女精彩久久| 欧美激情视频一区| 精品亚洲男同gayvideo网站| 久久精品国产亚洲7777| 日韩中文字幕在线观看| 美女啪啪无遮挡免费久久网站| 欧美精品久久久久久久免费观看| 亚洲精品www久久久| 岛国精品视频在线播放| 在线观看日韩欧美| 久久99国产精品自在自在app| 欧美在线性爱视频| 亚洲999一在线观看www| 中文字幕精品一区二区精品| 欧美一区二区三区精品电影| 欧美成人免费在线视频| 成人xxxx视频| 欧美成人黑人xx视频免费观看| 中文字幕亚洲字幕| 日本伊人精品一区二区三区介绍| 欧美成人在线影院| 日韩国产高清污视频在线观看| 裸体女人亚洲精品一区| 中文字幕自拍vr一区二区三区| 久久精品亚洲精品| www.亚洲人.com| 欧美大片大片在线播放| 国产亚洲日本欧美韩国| 91国偷自产一区二区三区的观看方式| 精品视频在线播放色网色视频| 亚洲欧美在线x视频| 国产日韩在线亚洲字幕中文| 国产一区二区在线免费| 色婷婷综合成人av| 日韩久久免费视频| 欧美精品在线看| 亚洲第一男人天堂| 国产精品成人va在线观看| 国内免费久久久久久久久久久| 国产精品看片资源| 色香阁99久久精品久久久| 国产精品欧美一区二区| 日韩电视剧在线观看免费网站| 欧美日韩午夜激情| 精品国偷自产在线视频| 久久福利视频网| 久久久久久国产精品美女| 日本高清视频精品| 欧美色欧美亚洲高清在线视频| 日韩成人性视频| 91豆花精品一区| 亚洲天堂成人在线视频| 欧美日韩国产综合视频在线观看中文| 色99之美女主播在线视频| 91国内精品久久| 欧美夫妻性生活xx| 国产日韩精品一区二区| 国产成人免费av| 亚洲第一页在线| 国产精品美女无圣光视频| 91精品国产乱码久久久久久蜜臀| 欧美日韩成人精品| 成人精品久久一区二区三区| 欧美劲爆第一页| 992tv在线成人免费观看| 欧美成人中文字幕在线| 欧美精品一区在线播放| 日本精品视频网站| 国产精品色悠悠| 亚洲xxx自由成熟| 2021国产精品视频| 亚洲www视频| 这里只有精品丝袜| 欧美极品美女视频网站在线观看免费| 欧美成人精品在线视频| 亚洲欧美色婷婷| 成人免费网视频| 成人黄色av免费在线观看| 欧美日韩成人在线视频| 午夜精品一区二区三区视频免费看| 亚洲va男人天堂| 国产精品视频播放| 亚洲国产精品字幕| 国产精品欧美久久久| 国产精品久久久久久久久久久久| 国产丝袜视频一区| 久久免费视频这里只有精品| 亚洲国产精品久久| 国产精品va在线播放| 亚洲最大福利网| 国产成人精品国内自产拍免费看| 欧美巨乳美女视频|