PHP實現圖片加水印

PHP實現圖片加水印php

[PHP] 純文本查看 複製代碼
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
/**測試

  • 爲一張圖片添加上一個logo圖片水印(以保存的方式實現)
  • @param string $picname 被處理圖片源
  • @param string $logo 水印圖片
  • @param string $pre 處理後圖片名的前綴名
  • @return String 返回後的圖片名稱(帶路徑),如a.jpg=>n_a.jpg

*/
function imageUpdateLogo($picname,$logo,$pre="n_"){
$picnameinfo = getimageSize($picname); //獲取圖片源的基本信息
$logoinfo = getimageSize($logo); //獲取logo圖片的基本信息
//var_dump($logoinfo);
//根據圖片類型建立出對應的圖片源
switch($picnameinfo[2]){spa

case 1: //gif
   $im = imagecreatefromgif($picname);
   break;
 case 2: //jpg
   $im = imagecreatefromjpeg($picname);
   break;
 case 3: //png
   $im = imagecreatefrompng($picname);
   break;
 default:
   die("圖片類型錯誤!");

}
//根據logo圖片類型建立出對應的圖片源
switch($logoinfo[2]){code

case 1: //gif
   $logoim = imagecreatefromgif($logo);
   break;
 case 2: //jpg
   $logoim = imagecreatefromjpeg($logo);
   break;
 case 3: //png
   $logoim = imagecreatefrompng($logo);
   break;
 default:
   die("logo圖片類型錯誤!");

}
//執行圖片水印處理
imagecopyresampled($im,$logoim,$picnameinfo[0]-$logoinfo[0],$picnameinfo[1]-$logoinfo[1],0,0,$logoinfo[0],$logoinfo[1],$logoinfo[0],$logoinfo[1]);
//輸出圖像(根據源圖像的類型,輸出爲對應的類型)
$picinfo = pathinfo($picname);//解析源圖像的名字和路徑信息
$newpicname= $picinfo["dirname"]."/".$pre.$picinfo["basename"];
switch($picnameinfo[2]){blog

case 1:
   imagegif($im,$newpicname);
   break;
 case 2:
   imagejpeg($im,$newpicname);
   break;
 case 3:
   imagepng($im,$newpicname);
   break;

}
//釋放圖片資源
imagedestroy($im);
imagedestroy($logoim);
//返回結果
return $newpicname;
}
//測試
echo imageUpdateLogo("./images/PHP.jpg","./images/logo.png","itcast_");
?>
測試效果:
圖片描述
更多技術資訊可關注:gzitcast圖片

相關文章
相關標籤/搜索