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[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?> 
原文地址:https://www.cnblogs.com/studio313/p/1052428.html