后端开发 \ PHP \ php文字水印和php图片水印实现代码(二种加水印方法)

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

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

文字水印

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


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

实现代码如下:

复制代码代码如下:


$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。效果图如下:


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

实现代码如下:

复制代码代码如下:


$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);

意见反馈 常见问题 官方微信 返回顶部