激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 用來給圖片加水印的PHP類

用來給圖片加水印的PHP類

2019-10-27 12:00php教程網 PHP教程

不錯的一個php添加水印的類

代碼如下:


<?php     
/*    
* 功能:PHP圖片水印 (水印支持圖片或文字)    
* 參數:    
*     $groundImage   背景圖片,即需要加水印的圖片,暫只支持GIF,JPG,PNG格式;    
*     $waterPos     水印位置,有10種狀態,0為隨機位置;    
*                 1為頂端居左,2為頂端居中,3為頂端居右;    
*                 4為中部居左,5為中部居中,6為中部居右;    
*                 7為底端居左,8為底端居中,9為底端居右;    
*     $waterImage     圖片水印,即作為水印的圖片,暫只支持GIF,JPG,PNG格式;    
*     $waterText     文字水印,即把文字作為為水印,支持ASCII碼,不支持中文;    
*     $textFont     文字大小,值為1、2、3、4或5,默認為5;    
*     $textColor     文字顏色,值為十六進制顏色值,默認為#FF0000(紅色);    
*    
* 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG    
*     $waterImage 和 $waterText 最好不要同時使用,選其中之一即可,優先使用 $waterImage。    
*     當$waterImage有效時,參數$waterString、$stringFont、$stringColor均不生效。    
*     加水印后的圖片的文件名和 $groundImage 一樣。    
* 作者:longware @ 2004-11-3 14:15:13    
*/    
function imageWaterMark($groundImage,$waterPos=0,$waterImage=”",$waterText=”",$textFont=5,$textColor=”#FF0000″)     
{     
  $isWaterImage = FALSE;     
  $formatMsg = “暫不支持該文件格式,請用圖片處理軟件將圖片轉換為GIF、JPG、PNG格式。”;     

  //讀取水印文件     
  if(!emptyempty($waterImage) && file_exists($waterImage))     
  {     
    $isWaterImage = TRUE;     
    $water_info = getimagesize($waterImage);     
    $water_w   = $water_info[0];//取得水印圖片的寬     
    $water_h   = $water_info[1];//取得水印圖片的高     

    switch($water_info[2])//取得水印圖片的格式     
    {     
        case 1:$water_im = imagecreatefromgif($waterImage);break;     
        case 2:$water_im = imagecreatefromjpeg($waterImage);break;     
        case 3:$water_im = imagecreatefrompng($waterImage);break;     
        default:die($formatMsg);     
    }     
  }     

  //讀取背景圖片     
  if(!emptyempty($groundImage) && file_exists($groundImage))     
  {     
    $ground_info = getimagesize($groundImage);     
    $ground_w   = $ground_info[0];//取得背景圖片的寬     
    $ground_h   = $ground_info[1];//取得背景圖片的高     

    switch($ground_info[2])//取得背景圖片的格式     
    {     
        case 1:$ground_im = imagecreatefromgif($groundImage);break;     
        case 2:$ground_im = imagecreatefromjpeg($groundImage);break;     
        case 3:$ground_im = imagecreatefrompng($groundImage);break;     
        default:die($formatMsg);     
    }     
  }     
  else    
  {     
    die(”需要加水印的圖片不存在!”);     
  }     

  //水印位置     
  if($isWaterImage)//圖片水印     
  {     
    $w = $water_w;     
    $h = $water_h;     
    $label = “圖片的”;     
  }     
  else//文字水印     
  {     
    $temp = imagettfbbox(ceil($textFont*5),0,”./cour.ttf”,$waterText);//取得使用 TrueType 字體的文本的范圍     
    $w = $temp[2] - $temp[6];     
    $h = $temp[3] - $temp[7];     
    unset($temp);     
    $label = “文字區域”;     
  }     
  if( ($ground_w<$w) || ($ground_h<$h) )     
  {     
    echo “需要加水印的圖片的長度或寬度比水印”.$label.”還小,無法生成水印!”;     
    return;     
  }     
  switch($waterPos)     
  {     
    case 0://隨機     
        $posX = rand(0,($ground_w - $w));     
        $posY = rand(0,($ground_h - $h));     
        break;     
    case 1://1為頂端居左     
        $posX = 0;     
        $posY = 0;     
        break;     
    case 2://2為頂端居中     
        $posX = ($ground_w - $w) / 2;     
        $posY = 0;     
        break;     
    case 3://3為頂端居右     
        $posX = $ground_w - $w;     
        $posY = 0;     
        break;     
    case 4://4為中部居左     
        $posX = 0;     
        $posY = ($ground_h - $h) / 2;     
        break;     
    case 5://5為中部居中     
        $posX = ($ground_w - $w) / 2;     
        $posY = ($ground_h - $h) / 2;     
        break;     
    case 6://6為中部居右     
        $posX = $ground_w - $w;     
        $posY = ($ground_h - $h) / 2;     
        break;     
    case 7://7為底端居左     
        $posX = 0;     
        $posY = $ground_h - $h;     
        break;     
    case 8://8為底端居中     
        $posX = ($ground_w - $w) / 2;     
        $posY = $ground_h - $h;     
        break;     
    case 9://9為底端居右     
        $posX = $ground_w - $w;     
        $posY = $ground_h - $h;     
        break;     
    default://隨機     
        $posX = rand(0,($ground_w - $w));     
        $posY = rand(0,($ground_h - $h));     
        break;       
  }     

  //設定圖像的混色模式     
  imagealphablending($ground_im, true);     

  if($isWaterImage)//圖片水印     
  {     
    imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//拷貝水印到目標文件           
  }     
  else//文字水印     
  {     
    if( !emptyempty($textColor) && (strlen($textColor)==7) )     
    {     
        $R = hexdec(substr($textColor,1,2));     
        $G = hexdec(substr($textColor,3,2));     
        $B = hexdec(substr($textColor,5));     
    }     
    else    
    {     
        die(”水印文字顏色格式不正確!”);     
    }     
    imagestring ( $ground_im, $textFont, $posX, $posY, $waterText, imagecolorallocate($ground_im, $R, $G, $B));           
  }     

  //生成水印后的圖片     
  @unlink($groundImage);     
  switch($ground_info[2])//取得背景圖片的格式     
  {     
    case 1:imagegif($ground_im,$groundImage);break;     
    case 2:imagejpeg($ground_im,$groundImage);break;     
    case 3:imagepng($ground_im,$groundImage);break;     
    default:die($errorMsg);     
  }     

  //釋放內存     
  if(isset($water_info)) unset($water_info);     
  if(isset($water_im)) imagedestroy($water_im);     
  unset($ground_info);     
  imagedestroy($ground_im);     
}     
//—————————————————————————————     
$id=$_REQUEST['id'];     
$num = count($_FILES['userfile']['name']);     
print_r($_FILES['userfile']);     
print_r($_FILES['userfile']['name']);     

echo $num;     
echo “<bR>”;     
if(isset($id)){     
 for($i=0;$i<$id;$i++){     

  if(isset($_FILES) && !emptyempty($_FILES['userfile']) && $_FILES['userfile']['size']>0)     
{     
  $uploadfile = “./”.time().”_”.$_FILES['userfile'][name][$i];     
  echo “<br>”;     
  echo $uploadfile;     
  if (copy($_FILES['userfile']['tmp_name'][$i], $uploadfile))     
  {     
    echo “OK<br>”;     

    //文字水印     
    //imageWaterMark($uploadfile,5,”",”HTTP://www.lvye.info”,5,”#cccccc“);     

    //圖片水印     
    $waterImage=”logo_ok1.gif”;//水印圖片路徑     
    imageWaterMark($uploadfile,9,$waterImage);     

    echo “<img src=\”".$uploadfile.”\” border=\”0\”>”;     
  }     
  else    
  {     
    echo “Fail<br>”;     
  }     
}     
 }     
}     

?>     
<form enctype=”multipart/form-data” method=”POST”>     
<?php     
for($a=0;$a<$id;$a++){     
 echo “文件: <input name=\”userfile[]\” type=\”file\”><br>”;     

}     
?>     
<input type=”submit” value=”上傳”>     
</form>    

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄色高清视频网站 | 日韩在线观看视频免费 | 精品国产一级毛片 | 久久久经典视频 | 亚洲成人午夜精品 | 亚洲天堂中文字幕在线观看 | 九色国产| 久久久久国产成人免费精品免费 | 中国av免费在线观看 | 免费一级特黄毛片 | 看国产毛片 | 日日鲁夜夜视频热线播放 | 中文字幕22页 | 精品一区二区三区免费爱 | 久久激情小视频 | 免费久久久 | 一本一本久久a久久精品综合小说 | 欧美在线观看黄色 | 黄wwww| 欧美激情 在线播放 | 巨乳毛片| 午夜精品久久久久久久99热浪潮 | 91精品国产一区二区在线观看 | 九九热九九爱 | 国产精品免费观在线 | 国产免费激情视频 | 国产亚洲精久久久久久蜜臀 | 色综av | 午夜男人在线观看 | 成人免费在线视频 | 久久久久久久亚洲视频 | 久久网国产 | 国产成人av一区 | 国产剧情在线观看一区二区 | 国产五区 | 日本高清一级片 | 午夜小网站 | 亚洲精品久久久久久 | 在线a视频 | 欧美精品久久久久久久久老牛影院 | 99日韩精品视频 |