1
<?php
2
function watermask($destination,$waterpngfilename,$pos = 'rb',$transparent = 20)
3
{
4
// 参数分别是 $destination => 图片地址,
5
// $waterpngfilename => 水印图片地址
6
// $pos => 水印位置 lt 左上 lb 左下 rt 右上 rb 右下(默认)
7
// $transparent => 透明度 默认 20
8
$imagetype = array("1"=>"gif","2"=>"jepg","3"=>"png","4"=>"wbmp");
9
$image_size = getimagesize($destination);
10
$iinfo=getimagesize($destination,$iinfo);
11
$f ="imagecreatefrom".$imagetype[$iinfo[2]];
12
$simage = $f($destination);
13
$imagesize_mask = getimagesize($waterpngfilename);
14
$f ="imagecreatefrom".$imagetype[$imagesize_mask[2]];
15
$simage1 = $f($waterpngfilename); // 水印文件
16
// 合并2个文件
17
switch($pos)
18
{
19
case 'lt':
20
imagecopymerge($simage,$simage1,0,0,0,0,$imagesize_mask[0],
21
$imagesize_mask[1],$transparent); // 左上
22
break;
23
case 'lb':
24
imagecopymerge($simage,$simage1,0,$image_size[1]-$imagesize_mask[1]
25
,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 左下
26
break;
27
case 'rt':
28
imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],
29
0,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 右上
30
break;
31
case 'rb':
32
imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],
33
$image_size[1]-$imagesize_mask[1],0,0,$imagesize_mask[0],
34
$imagesize_mask[1],$transparent); // 右下
35
break;
36
}
37
// 输出
38
$f ="image".$imagetype[$iinfo[2]];
39
$f($simage,$destination);
40
imagedestroy($simage);
41
imagedestroy($simage1);
42
}
43
watermask("图片.gif","水印.gif");
44
?>
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/None.gif)
33
![](/Images/OutliningIndicators/None.gif)
34
![](/Images/OutliningIndicators/None.gif)
35
![](/Images/OutliningIndicators/None.gif)
36
![](/Images/OutliningIndicators/None.gif)
37
![](/Images/OutliningIndicators/None.gif)
38
![](/Images/OutliningIndicators/None.gif)
39
![](/Images/OutliningIndicators/None.gif)
40
![](/Images/OutliningIndicators/None.gif)
41
![](/Images/OutliningIndicators/None.gif)
42
![](/Images/OutliningIndicators/None.gif)
43
![](/Images/OutliningIndicators/None.gif)
44
![](/Images/OutliningIndicators/None.gif)