PHP使用phpqrcode类库生成二维码

本文详细介绍如何使用PHPQRCODE类库生成二维码,并提供添加Logo的示例代码。包括了参数配置说明及两个实用的例子。

使用phpqrcode类库生成二维码这里我们只需要了解一个类库中的方法:


1、原型:

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、事例:

实例一:

<?php
//引入类
include "phpqrcode-master/phpqrcode.php";
//准备数据
$data="http://www.baidu.com";
//生成文件的名字
$dirname="test.png";
//错误的级别 L M Q
$error="L";
$matSize=20;
//静态
QRcode::png($data,$dirname,$error,$matSize,2);
QRcode::png($data);


实例二(容易接受吧):

<?php
include "phpqrcode-master/phpqrcode.php";
QRcode::png('http://www.baidu.com');


4、如果要加上logo,即可以生成的图片创建图层。再利用 PHP中的GD函数库中介绍的方法贴图即可。


5、给二维码添加logo:

include 'phpqrcode.php';  
$value = 'http://www.helloweba.com'; //二维码内容 
$errorCorrectionLevel = 'L';//容错级别 
$matrixPointSize = 6;//生成图片大小 
//生成二维码图片 
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); 
$logo = 'logo.png';//准备好的logo图片 
$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图片宽度 
    $logo_height = imagesy($logo);//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">'; 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值