php文字水印和php图片水印实现代码(二种加水印方法)

前端之家收集整理的这篇文章主要介绍了php文字水印和php图片水印实现代码(二种加水印方法)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文字水印

文字水印就是在图片加上文字,主要使用gd库的imagefttext方法,并且需要字体文件效果图如下:

实现代码如下:

代码如下:
$dst_path = 'dst.jpg';

//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));

//打上文字
$font = './simsun.ttc';//字体
$black = imagecolorallocate($dst,0x00,0x00);//字体颜色
imagefttext($dst,13,20,$black,$font,'快乐编程');

//输出图片
list($dst_w,$dst_h,$dst_type) = getimagesize($dst_path);
switch ($dst_type) {
case 1://GIF
header('Content-Type: image/gif');
imagegif($dst);
break;
case 2://JPG
header('Content-Type: image/jpeg');
imagejpeg($dst);
break;
case 3://PNG
header('Content-Type: image/png');
imagepng($dst);
break;
default:
break;
}

imagedestroy($dst);

图片水印

图片水印就是将一张图片加在另外一张图片上,主要使用gd库的imagecopy和imagecopymerge。效果图如下:

实现代码如下:

代码如下:
$dst_path = 'dst.jpg';
$src_path = 'src.jpg';

//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));
$src = imagecreatefromstring(file_get_contents($src_path));

//获取水印图片的宽高
list($src_w,$src_h) = getimagesize($src_path);

//将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果
imagecopymerge($dst,$src,10,$src_w,$src_h,50);
//如果水印图片本身带透明色,则使用imagecopy方法
//imagecopy($dst,$src_h);

//输出图片
list($dst_w,$dst_type) = getimagesize($dst_path);
switch ($dst_type) {
case 1://GIF
header('Content-Type: image/gif');
imagegif($dst);
break;
case 2://JPG
header('Content-Type: image/jpeg');
imagejpeg($dst);
break;
case 3://PNG
header('Content-Type: image/png');
imagepng($dst);
break;
default:
break;
}

imagedestroy($dst);
imagedestroy($src);

猜你在找的PHP相关文章