搞笑入群二维码在线生成源码 php图片合成并添加文字水印

在凤凰网看到一篇文章:微信群二维码也能“整人”,99%的好友会中招!感觉挺好玩,所以自己也想做一个!

冷静分析🤔应该是这样,嗯…这样的,这样写的……嗯?开工

假装正经,其实也就很简单,图片加二维码合成然后添加文字,OK?

首先,第一步制作一个二维码接口,使用phpqrcode生成二维码

然后图片合成二维码再添加文字水印。以下是源码,仅供参考使用,代码已注标释。

<?php
/*
* 图片加二维码,并添加文字水印
 */
header('Content-Type: image/png');//输出协议头
$text = isset($_GET['text']) ? $_GET['text'] : '免费看电影';
$lenth = strlen($text);
if($lenth>=24){
$text = substr($text,0,24)."";//限制字数
}
$qr = isset($_GET['qr']) ? $_GET['qr'] : 'svip7.cc'; //二维码内容
$time=date("该二维码7天内(m月d日前)有效,重新进入将更新",strtotime("+7 day"));
$dst_path = 'bg.png';//背景图
$src_path = 'http://qr.liantu.com/api.php?text='.$qr.'&w=400';//这是联图二维码API 
//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));//读取背景图片数据
$src = imagecreatefromstring(file_get_contents($src_path));//读取二维码数据
//获取二维码的宽高
list($src_w, $src_h) = getimagesize($src_path);
//将水印图片复制到目标图片上,最后个参数100是设置透明度,这里用不透明效果
imagecopymerge($dst, $src, 100, 200, 0, 0, $src_w, $src_h, 100);
//如果水印图片本身带透明色,则使用imagecopy方法
//imagecopy($dst, $src, 100, 200, 0, 0, $src_w, $src_h);
//FZZHJW.TTF 是简体字体 自己可以重网上下载其他字体
$col = imagecolorallocatealpha($dst,0,0,0,0); //文字水印颜色
$col1 = imagecolorallocatealpha($dst,102,102,102,1);
//添加水印文字
//28 是字体大小
//180 是横坐标
//100是纵坐标
imagettftext($dst,28,0,180,100,$col,"FZZHJW.TTF",$text);
imagettftext($dst,14,0,90,750,$col1,"FZZHJW.TTF",$time);
//输出图片
list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
imagepng($dst);
//将数据进行销毁
imagedestroy($dst);
imagedestroy($src);

?>

自己也懒得弄二维码了,直接用了联图的二维码api。如果你自己要做,可以参考上面第一步那里的链接

字体文件自己可以重网上下载

演示效果如下图

posted @ 2019-01-21 08:11  PHP菜鸟-小菜鸡  阅读(2978)  评论(0编辑  收藏  举报
Top