1<?php
2function 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个文件
17switch($pos)
18{
19case 'lt':
20imagecopymerge($simage,$simage1,0,0,0,0,$imagesize_mask[0],
21$imagesize_mask[1],$transparent); // 左上
22break;
23case 'lb':
24imagecopymerge($simage,$simage1,0,$image_size[1]-$imagesize_mask[1]
25,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 左下
26break;
27case 'rt':
28imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],
290,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 右上
30break;
31case 'rb':
32imagecopymerge($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); // 右下
35break;
36}
37// 输出
38$f ="image".$imagetype[$iinfo[2]];
39$f($simage,$destination);
40imagedestroy($simage);
41imagedestroy($simage1);
42}
43watermask("图片.gif","水印.gif");
44?>
2function 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个文件
17switch($pos)
18{
19case 'lt':
20imagecopymerge($simage,$simage1,0,0,0,0,$imagesize_mask[0],
21$imagesize_mask[1],$transparent); // 左上
22break;
23case 'lb':
24imagecopymerge($simage,$simage1,0,$image_size[1]-$imagesize_mask[1]
25,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 左下
26break;
27case 'rt':
28imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],
290,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 右上
30break;
31case 'rb':
32imagecopymerge($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); // 右下
35break;
36}
37// 输出
38$f ="image".$imagetype[$iinfo[2]];
39$f($simage,$destination);
40imagedestroy($simage);
41imagedestroy($simage1);
42}
43watermask("图片.gif","水印.gif");
44?>