2016年2月22日 星期一

PHP教學 - 簡單的圖片增加浮水印

先前曾經分享過圖片上傳增加浮水印,現在再來分享另一個浮水印的程式如下:
<?php
 $ori_img = "images/3.jpg"; //原圖
 $water_img = "logo.png"; //水印
 $new_img = "images/daixiaorui.jpg"; //產生水印後的圖片

 $original = getimagesize($ori_img); //得到圖片的訊息,可以print_r($original)發現它就是一個陣列
 $watermark = getimagesize($water_img);

 $s_original = imgCreateFrom($ori_img, $original[2]); //$original[2]是圖片類型,其中1表示gif、2表示jpg、3表示png
 $s_watermark = imgCreateFrom($water_img, $watermark[2]);

 $posX = $original[0] - $watermark[0]-10; //X坐標(右下角)
 $poxY = $original[1] - $watermark[1]-6; //Y坐標(右下角)

 //打水印
 imagecopy($s_original, $s_watermark, $posX, $poxY, 0, 0, $watermark[0], $watermark[1]);
 header("Content-type:image/jpg");  //選擇圖片來源(若不想顯示在網頁上可以註解掉)
 imagejpeg($s_original);   //向瀏覽器輸出圖片(若不想顯示在網頁上可以註解掉)
 $loop = imagejpeg($s_original, $new_img); //產生新的圖片(jpg格式),如果用imagepng可以產生png格式
 if($loop){
  echo "水印增加成功!";
 }

 //根據文件類型 新增一個新圖像
 function imgCreateFrom($img_src, $val){
  switch($val){
   case 1 : $img = imagecreatefromgif($img_src);
    break;
   case 2 : $img = imagecreatefromjpeg($img_src);
    break;
   case 3 : $img = imagecreatefrompng($img_src);
    break;
  }
  return $img;
 }
?>

沒有留言:

張貼留言