国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
php實(shí)現(xiàn)圖片上傳時(shí)添加文字和圖片水印技巧,
? ??? ?? PHP ???? php實(shí)現(xiàn)圖片上傳時(shí)添加文字和圖片水印技巧,_PHP教程

php實(shí)現(xiàn)圖片上傳時(shí)添加文字和圖片水印技巧,_PHP教程

Jul 12, 2016 am 08:49 AM
php ?? ????

php實(shí)現(xiàn)圖片上傳時(shí)添加文字和圖片水印技巧,

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

1. water.class.php

<&#63;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 = '樂(lè)趣網(wǎng)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 &#63; $water_img : $this->water_img;
    //水印的開啟狀態(tài)
    $waterimg_on = $this->check($water_img) &#63; 1 : 0;
    //判斷是否在原圖上操作
    $out_img = $out_img &#63; $out_img : $img;
    //判斷水印的位置
    $pos = $pos &#63; $pos : $this->pos;
    //水印文字
    $text = $text &#63; $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;
}  
  //驗(yàn)證圖片是否存在
    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

<&#63;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);

3.效果圖

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)PHP程序設(shè)計(jì)有所幫助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1136635.htmlTechArticlephp實(shí)現(xiàn)圖片上傳時(shí)添加文字和圖片水印技巧, 本文實(shí)現(xiàn)的功能特別適用于一些商城和圖片站中,分享了圖片在上傳時(shí)添加文字和圖片水印的...
? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
PHP? AI ??? ?? ?? PHP ?? ?? ?? ??? ??? ?????. PHP? AI ??? ?? ?? PHP ?? ?? ?? ??? ??? ?????. Jul 25, 2025 pm 08:45 PM

??? ?? ??? ??? ?? JavaScript? MediareCorder API? ?? PHP ???? ???? ?????. 2. PHP? ???? ?? ??? ???? STTAPI (? : Google ?? Baidu ?? ??)? ???? ???? ?????. 3. PHP? ???? AI ??? (? : OpenAigpt)? ????. 4. ?? ?? PHP? TTSAPI (? : Baidu ?? Google ?? ??)? ???? ??? ?? ??? ?????. 5. PHP? ?? ??? ??? ??? ??? ?? ?? ??? ?????. ?? ????? PHP? ?? ???? ?? ?? ?? ??? ??? ?????.

PHP? ???? ?? ?? ??? ???? ?? PHP ?? ????? ?? ?? PHP? ???? ?? ?? ??? ???? ?? PHP ?? ????? ?? ?? Jul 25, 2025 pm 08:51 PM

PHP?? ?? ?? ??? ???? ?? ??? ? ???? ?? ??? ???? ?? ??? ???? ???? ????. 1. ?? ?? ??? ?? ??? URL ? ?? ??? ????. 2. UrlenCode? ???? ?? ??? ???????. 3. ? ???? ????? ?? ?? ??? ? ?? ??? ?????. 4. ???? ???? ?? ? ? ??? ??? ??? ??? ?????. 5. ??? ?? ??? ????? ?? ????? OG ??? ???? ?????. 6. XSS ??? ???? ?? ??? ??? ?????. ? ???? ??? ??? ???? ??? ?? ?? ??? ??? ???? ??? ?? ??? ?????.

PHP? ???? AI? ???? ??? ?? ?? PHP ?? ?? ? ???? ?????. PHP? ???? AI? ???? ??? ?? ?? PHP ?? ?? ? ???? ?????. Jul 25, 2025 pm 08:57 PM

AI? ??? ??? ?? ?? ? ?? ???? ????? ?? ??? ??????. 1. Baidu, Tencent API ?? ?? ?? NLP ?????? ?? ??? AI ?? ?? API? ??????. 2. PHP? ? ?? guzzle? ?? API? ???? ?? ??? ??????. 3. ?? ????? ?? ?? ??? ???? ???? ???? ??? ??? ? ????. 4. ?? ?? ? ?? ???? ?? PHP-L ? PHP_CODESNIFFER? ??????. 5. ???? ????? ???? ?? ?? ??? ?????? ??? ??????. AIAPI? ??? ? ???, ?? ??, ?? ? PHP ?? ??? ??? ???. ?? ???? PSR ??? ???, ??? ????? ????, ?? ??? ???, ????? ??? ????, X? ???????.

PHP? PHP ?? ?? ? ?? ??? ??? ?????? ??? ??? ???? ????. PHP? PHP ?? ?? ? ?? ??? ??? ?????? ??? ??? ???? ????. Jul 25, 2025 pm 08:27 PM

1. ?? ???? ??? ??? ?????? ?? ?? ??? ??, ??? ?? ???? ??? (? : ?? ???, ? ? ??), ?? ??? ?? ???? ???? ? ?? ?? ??? ??? ?? ??? ????????. 2. ?? ??? ??? ?? ? ??? ???? ?? ?? ?? ???? ?? ? ?? AUDIT ?? ??? ??? ? ????? ????? ??? ???????. 3. ?? ?? ??? ?? ??? ???????. Recaptchav3 ???? ??, ??? ?? ?? ?? ?? ??, IP ? ?? ??? ??? ??? ?? ???? ??? ?? ??? ????? ??? ???? ????? ??? ?????.

PHP? ???? AI? ???? ???? ???? ??. PHP? ???? ?? ??? ????? PHP? ???? AI? ???? ???? ???? ??. PHP? ???? ?? ??? ????? Jul 25, 2025 pm 07:21 PM

PHP? AI ??? ??? ?? ????? ??? API? ?? ?????. ??? ??? ????? ? ??? ???? ?????. API ??? ?? ?? ??? ???? ??? ??? ???? ???? ? ????. 2. ?? ?? ???? guzzle ?? curl? ???? HTTP ??? ???, JSON ??? ??? ? ???, API ? ?? ??, ??? ? ?? ??? ???? ??, ??? ?? ?? ? ? ?? ????, ??? ?? ? ?????? ?????. 3. ???? ???? ?? ???? API ??, ?? ? ??? ?? ??, ??? ?? ??, ?? ?? ? ??? ??? ??? ?????. ?? ??? ??? ??? ? ??? ???? Propt ?? ? ?? ?? ??, ??? ?? ? ?? ????, ?? ?? ?? ???? ? ??? ?? ? ???? ????? ?????.

PHP? ?? ?? ?? ? ?? ?? PHP ?? ??? ? ?? ????? ?? PHP? ?? ?? ?? ? ?? ?? PHP ?? ??? ? ?? ????? ?? Jul 25, 2025 pm 08:30 PM

PHP? ?????? ????? ?? ?? ?? ???? ???? ?? ???? ???? ?? ?? ???? ?????. 2. ?? ??? ???? ???? ?? ??? ?? ? ??? ??? ???? ?? API/Webhook ??? ??? ?? ???? ??? ??? ??? ??? ?????. 3. ?? ????? ?? ??, ??/???? ????, ???? ??, ???? ? ??? ?????? ????? ?? ??? ???? ???? ?? Dingtalk, SMS ?? ??? ???? ??? ?????? ???? ?? ? ??? ??? ????? ?? ??? ???? ???????.

?? ?? ?? : ?? ?? ?????? PHP? ?? ?? ?? ?? : ?? ?? ?????? PHP? ?? Jul 27, 2025 am 04:31 AM

PhpisstillRelevantinmodernenterpriseenvironments.1. Modernphp (7.xand8.x)? ??? ??, ??? ??, jitcompilation ? modernsyntax, mateitsuilableforlarge-scalepplications

PHP ?? AI ?? ?? ? ??? PHP ?? ??? ?? ?? ??? PHP ?? AI ?? ?? ? ??? PHP ?? ??? ?? ?? ??? Jul 25, 2025 pm 07:06 PM

??? AI ?? ?? ???? ???? PHPSDK? ??????. 2. PHP? ???? FFMPEG? ???? ???? API ?? ?? (? : WAV)?? ?????. 3. ??? ???? ????? ????? API ???? ??? ??????. 4. NLP ??? ???? JSON ??? ???? ???? ?????. 5. ?? ??? ???? ???? ?? ?? ?? ?? ?? ??? ?????. ?? ????? ?? ?? ? ??? ???? ?? ??? ???, ??? ?? ? ??? ???????.

See all articles