1. 下载 phpqrcode PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/
2.下载出来的文件我们只需要 phpqrcode.php 这个文件, 文件里面提供了一个关键的png()方法:
参数$text表示生成二位的的信息文本;
参数$outfile表示是否输出二维码图片 文件,默认否;
参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);
参数$size表示生成图片大小,默认是3;参数$margin表示二维码周围边框空白区域间距值;
参数$saveandprint表示是否保存二维码并显示。
3. 在你的项目方法中引入该文件
require_once(dirname(__FILE__)."/phpqrcode.php");//引入文件 $url = URL::base(true)."invitation/share?share_id={$share_id}";//生成二维码的链接 $value = $url; //二维码内容 $errorCorrectionLevel = 'L'; //容错级别 $matrixPointSize = 2; //生成图片大小 //生成二维码图片 $filename = MODPATH.'/mall/media/qrcode/'.$user_id.'_qrcode.png';//生成二维码保存目录 QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2); $QR = $filename; //已经生成的原始二维码图片文件 $QR = imagecreatefromstring(file_get_contents($QR)); //输出图片 imagepng($QR, 'qrcode.png'); imagedestroy($QR);
4 . 与已有的背景图片合成一张图片
if(file_exists($filename)){//判断一下是否生成了二维码 $poster_url = MODPATH.'/mall/media/qrcode/'.$user_id.'_haibao.png';//保存生成海报的目录 $path_1 = MODPATH . '/mall/media/img/img-poster.png';//背景图目录 $path_2 = $filename;//上面生成二维码的目录 //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($path_1)); $src = imagecreatefromstring(file_get_contents($path_2)); // 把二维码图片的白色背景设为透明 // imagecolortransparent($src, imagecolorallocate($src, 255, 255, 255)); //获取水印图片的宽高 list($src_w, $src_h) = getimagesize($path_2); //将水印图片复制到目标图片上 imagecopymerge($dst, $src, 400, 503, 0, 0, $src_w, $src_h, 100); //生成图片 imagepng($dst,$poster_url); imagedestroy($dst); imagedestroy($src); }
5.如此功能就完成了 中间的一些逻辑自己再补充 ,此文章根据自己项目需求以及网上的经验总结。只为学习。