安装
使用Composer来安装这个库。
composer require endroid/qrcode
基本用法
简单几行代码,就可以生成一个普通的二维码:
require_once('vendor/autoload.php');
use Endroid\QrCode\QrCode;
$qrCode = new QrCode('Thinkphp欢迎您!');
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
高级用法
QrCode提供了许多方法参数设置,可以满足各种需求场景。比如需要生成中间带logo的二维码,需要保存二维码图片等。请看以下代码:
require_once('vendor/autoload.php');
use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
use Endroid\QrCode\QrCode;
use Symfony\Component\HttpFoundation\Response;
// Create a basic QR code
$qrCode = new QrCode('Life is too short to be generating QR codes');
$qrCode->setSize(300);
// Set advanced options
$qrCode
->setWriterByName('png')
->setMargin(10)
->setSize(200)
->setEncoding('UTF-8')
->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH)
->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0])
->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255])
->setLabel('手机扫一扫', 12)
->setLogoPath('logo.png')
->setLogoWidth(64)
->setValidateResult(false)
;
// Directly output the QR code
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
// Save it to a file
//$qrCode->writeFile(__DIR__.'/qrcode.png');
// Create a response object
$response = new Response($qrCode->writeString(), Response::HTTP_OK, ['Content-Type' => $qrCode->getContentType()]);
运行以上代码,你会发现生成了一个中间有logo小图片的二维码,以上代码中:
setSize():设置二维码图片的尺寸,数字整型,默认长宽是300px的图片。
setErrorCorrectionLevel():设置纠错级别,可以是LOW,MEDIUM,QUARTILE,HIGH
setForegroundColor():设置前置色,rgb,默认黑色
setBackgroundColor():设置背景色,rgb,默认白色
setLabel():设置文字说明
setLogoPath():设置中间logo路径地址
setLogoWidth():设置logo宽度大小,数字
更多THinkPHP源码请访问:http://t.cn/RmZekiV