使用phpqrcode类库生成二维码这里我们只需要了解一个类库中的方法:
1. 原型
1 2 3 4 5
| public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint = false, $back_color = 0xFFFFFF, $fore_color = 0x000000) { $enc = QRencode::factory($level, $size, $margin, $back_color, $fore_color); return $enc->encodePNG($text, $outfile, $saveandprint = false); }
|
2. 参数解析
$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. 事例
实例一:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
include "phpqrcode-master/phpqrcode.php";
$data = "http://www.baidu.com";
$dirname = "test.png";
$error = "L"; $matSize = 20;
QRcode::png($data, $dirname, $error, $matSize, 2); QRcode::png($data);
|
实例二(容易接受吧):
1 2 3
| <?php include "phpqrcode-master/phpqrcode.php"; QRcode::png('http://www.baidu.com');
|
如果要加上logo,即可以生成的图片创建图层。再利用 PHP中的GD函数库中介绍的方法贴图即可。
给二维码添加logo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| include 'phpqrcode.php'; $value = 'http://www.helloweba.com';
$errorCorrectionLevel = 'L';
$matrixPointSize = 6;
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'logo.png';
$QR = 'qrcode.png';
if ($logo !== FALSE) { $QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR); $QR_height = imagesy($QR); $logo_width = imagesx($logo); $logo_height = imagesy($logo); $logo_qr_width = $QR_width / 5; $scale = $logo_width/$logo_qr_width; $logo_qr_height = $logo_height/$scale; $from_width = ($QR_width - $logo_qr_width) / 2; imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); }
imagepng($QR, 'helloweba.png'); echo '<img src = "helloweba.png">';
|
本文早期发布于个人 CSDN 博客:查看原文