imagecopymerge -- 拷贝并合并图像的一部分
imagecopymerge($sourceImg,$waterImg,$x,$y,0,0,$waterX,$waterY,30); #合并图像 合并度设置为50 .100为完全合并.相当于把第二个参数里的图像透明到原来的50/100然后贴到第一个参数的图像里
我也是看了别人的例子试验的,不过这个是图片水印调整透明度,文字水印我没看见
imagecopymerge($sourceImg,$waterImg,$x,$y,0,0,$waterX,$waterY,30); #合并图像 合并度设置为50 .100为完全合并.相当于把第二个参数里的图像透明到原来的50/100然后贴到第一个参数的图像里
我也是看了别人的例子试验的,不过这个是图片水印调整透明度,文字水印我没看见
{
// 参数分别是 $destination => 图片地址,
// $waterpngfilename => 水印图片地址
// $pos => 水印位置 lt 左上 lb 左下 rt 右上 rb 右下(默认)
// $transparent => 透明度 默认 20
$imagetype = array("1"=>"gif","2"=>"jpeg","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);
}
echo $transparent;
// 参数分别是 $destination => 图片地址,
// $waterpngfilename => 水印图片地址
// $pos => 水印位置 lt 左上 lb 左下 rt 右上 rb 右下(默认)
// $transparent => 透明度 默认 20
$imagetype = array("1"=>"gif","2"=>"jpeg","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);
}
echo $transparent;
文字用 imagecolorclosestalpha 设置颜色后书写