aaahd 发表于 2015-8-29 10:38:22

php图片水印(可以设置透明度)

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];   
12$simage = $f($destination);   
13$imagesize_mask = getimagesize($waterpngfilename);   
14$f ="imagecreatefrom".$imagetype[$imagesize_mask];   
15$simage1 = $f($waterpngfilename); // 水印文件   
16// 合并2个文件   
17switch($pos)   
18{   
19case 'lt':   
20imagecopymerge($simage,$simage1,0,0,0,0,$imagesize_mask,   
21$imagesize_mask,$transparent); // 左上   
22break;   
23case 'lb':   
24imagecopymerge($simage,$simage1,0,$image_size-$imagesize_mask   
25,0,0,$imagesize_mask,$imagesize_mask,$transparent); // 左下   
26break;   
27case 'rt':   
28imagecopymerge($simage,$simage1,$image_size-$imagesize_mask,   
290,0,0,$imagesize_mask,$imagesize_mask,$transparent); // 右上   
30break;   
31case 'rb':   
32imagecopymerge($simage,$simage1,$image_size-$imagesize_mask,   
33$image_size-$imagesize_mask,0,0,$imagesize_mask,   
34$imagesize_mask,$transparent); // 右下   
35break;   
36}   
37// 输出   
38$f ="image".$imagetype[$iinfo];   
39$f($simage,$destination);   
40imagedestroy($simage);   
41imagedestroy($simage1);   
42}   
43watermask("图片.gif","水印.gif");   
44?>
页: [1]
查看完整版本: php图片水印(可以设置透明度)