大连做网站
首页 > 建站教程 > php图片水印 可以设置透明度

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

2016-12-21

 function watermask($destination,$waterpngfilename,$pos = 'rb',$transparent = 20)    
 {   
 // 参数分别是 $destination => 图片地址,   
 // $waterpngfilename => 水印图片地址   
 // $pos => 水印位置 lt 左上 lb 左下 rt 右上 rb 右下(默认)   
 // $transparent => 透明度 默认 20    
$imagetype = array("1"=>"gif","2"=>"jepg","3"=>"png","4"=>"wbmp");   
$image_size = getimagesize($destination);   
$iinfo=getimagesize($destination,$iinfo);    
$f ="imagecreatefrom".$imagetype[$iinfo[2]];   
$simage = $f($destination);   
$imagesize_mask = getimagesize($waterpngfilename);   
$f ="imagecreatefrom".$imagetype[$imagesize_mask[2]];   
$simage1 = $f($waterpngfilename); // 水印文件   
// 合并2个文件   
switch($pos)   
{   
case 'lt':   
imagecopymerge($simage,$simage1,0,0,0,0,$imagesize_mask[0],   
$imagesize_mask[1],$transparent); // 左上   
break;   
case 'lb':   
imagecopymerge($simage,$simage1,0,$image_size[1]-$imagesize_mask[1]   
,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 左下   
break;   
case 'rt':   
imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],    
0,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent); // 右上   
break;   
case 'rb':   
imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],    
$image_size[1]-$imagesize_mask[1],0,0,$imagesize_mask[0],   
$imagesize_mask[1],$transparent); // 右下   
break;   
}   
// 输出   
$f ="image".$imagetype[$iinfo[2]];   
$f($simage,$destination);   
imagedestroy($simage);    
imagedestroy($simage1);   
}   
watermask("图片.gif","水印.gif");   
?>