PHP实现图片加文字/图案水印

本文介绍了如何使用PHP在图片上添加二维码、文字和头像作为水印。首先,通过imagecreatefromjpeg等函数创建图片实例,确定水印位置和透明度,使用imagecopymerge合并图片。接着,解决文字水印的乱码问题,采用imagefttext方法。最后,讲解了如何裁剪并添加圆形头像,涉及到正方形和圆形的几何关系处理。
摘要由CSDN通过智能技术生成

需求:在一张背景图上添加二维码(带不同),并且个人名字,联系方式和个人头像。

思路:二维码和头像相当于往图片上添加图片,个人姓名和联系方式相当于玩图片上添加文字,这就是文字/图案水印了。思路就是上网百度!!

历经辛苦,找到一篇看起来可能会明白,简洁,简短的文章:(http://www.jb51.net/article/44829.htm)
//添加图片水印

$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, 10, 0, 0, $src_w, $src_h, 50);
//如果水印图片本身带透明色,则使用imagecopy方法
//imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);
//输出图片
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);
imagedestroy($src);

因为之前很少接触图片方面的需求,通过观察代码哈哈哈,发现添加【图片水印】的思路是这样的:
1.确定背景图和水印图,利用这两个图片创建两个实例,实例相当于一种图片资源,在图片上添加文字或者图片,就是对实例进行操作,根据图片文件格式选择创建实例的方式,如果图片是jpg格式,则使用imagecreatefromjpeg();如图中所示,也可以先用file_get_contents获取到图片的内容,然后用imagecreatefromstring()来根据图片内容创建实例;

2.确定水印图片的左顶点的坐标(x,y),和设计师确认一下摆放水印图片的位置,水平和垂直距离是多少,像素单位,如图中程序里面的10,10;再得到水印图片的宽和长,如程序中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值