phpqrcode生成带logo的二维码图片及带文字的二维码图片

 1 <?php
 2 require_once "./phpqrcode/phpqrcode.php";
 3 
 4 /**
 5  * 这样就可以生成二维码了,实际上在png这个方法里还有几个参数需要使用。
 6   第一个参数$text,就是上面代码里的URL网址参数,
 7   第二个参数$outfile默认为否,不生成文件,只将二维码图片返回,否则需要给出存放生成二维码图片的路径
 8   第三个参数$level默认为L,这个参数可传递的值分别是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%)。这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比。
 9   利用二维维码的容错率,我们可以将头像放置在生成的二维码图片任何区域。
10   第四个参数$size,控制生成图片的大小,默认为4
11   第五个参数$margin,控制生成二维码的空白区域大小
12   第六个参数$saveandprint,保存二维码图片并显示出来,$outfile必须传递图片路径。
13  */
14 QRcode::png("你好", "a.jpg", 'L', 6, 3,true);
15 
16 
17 $QR='a.jpg';
18 
19 $logo='back.png';
20 /**
21  * 像图片中添加文字
22  * @param $txt 文本文字
23  * @param $image 图片路径
24  * @param $size  文字大小
25  * @param $scale 文字旋转度
26  * @param $x 在x轴上的位置
27  * @param $y 在y轴上的位置
28  */
29 function numimage($txt,$image,$size,$scale,$x,$y)
30 {
31     $im = imagecreatefrompng($image);
32     $textcolor = imagecolorallocate($im, 0, 0, 0);
33     $font = "simhei.ttf";
34     $to =$txt;
35     imagettftext($im, $size,$scale,$x,$y, $textcolor, $font, $to);
36     imagejpeg($im, $image);
37     imagedestroy($im);
38 }
39 
40 //生成带文字的二维码
41 numimage('123456',$QR,5,0,35,105);
42 
43 
44 
45 
46 function qrcodeLogo($logo,$QR)
47 {
48     if ($logo !== FALSE) {
49         $QR = imagecreatefromstring(file_get_contents($QR));
50         $logo = imagecreatefromstring(file_get_contents($logo));
51         $QR_width = imagesx($QR);//二维码图片宽度
52         $QR_height = imagesy($QR);//二维码图片高度
53         $logo_width = imagesx($logo);//logo图片宽度
54         $logo_height = imagesy($logo);//logo图片高度
55         $logo_qr_width = $QR_width / 5;
56         $scale = $logo_width / $logo_qr_width;
57         $logo_qr_height = $logo_height / $scale;
58         $from_width = ($QR_width - $logo_qr_width) / 2;
59         //重新组合图片并调整大小
60         imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
61             $logo_qr_height, $logo_width, $logo_height);
62     }
63 //输出图片
64     imagepng($QR, 'helloweixin.png');
65 }
66 
67 //生成带logo的二维码
68 qrcodeLogo($logo,$QR);
原文地址:https://www.cnblogs.com/wujindong/p/6530321.html