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
/**測試
*/
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圖片