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