生成图片二维码,话不多说直接上代码
<?php
error_reporting(E_ERROR);
require_once 'phpqrcode/phpqrcode.php'; //引入生成图片的文件
$value='http://www.baidu.com'; //生成二维码扫码后访问的页面
$errorCorrectionLevel = 'L';
$matrixPointSize = 10;
QRcode::png($value, './img/xiangyang.png', $errorCorrectionLevel, $matrixPointSize, 2,true);
echo "QR code generated"."<br />";
$logo = './img/logo.png';
$QR = './img/xiangyang.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,'./img/xiangyanglog.png');
?>
png方法是生成二维码,各个参数的意思如下:
$value:生成二维码后扫码时访问的页面
./img/xiangyang.png:生成的二维码的路径及二维码图片的名称
$errorCorrectionLevel表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);
$matrixPointSize :生成二维码图片的大小
2:表示二维码周围边框空白区域间距值是2
true:表示保存二维码并显示,如果是false的话表示保存二维码不显示
imagepng方法是生成中间带固定图片的二维码各参数的意思如下:
$QR:中间的图片
./img/xiangyanglog.png:生成的二维码的路径及二维码图片的名称