这是一个二维码生成器,它可以帮助你以简单的方式生成二维码,并且可以设置二维码中间的小logo图标。使用非常简单,并且提供了一个Symfony包,可以快速整合到你的项目中。
安装:
使用Composer来安装这个库。
composer require endroid/qrcode
基本用法
简单几行代码,就可以生成一个普通的二维码:
require_once('vendor/autoload.php');use Endroid\QrCode\QrCode; $qrCode = new QrCode('Helloweba欢迎您!'); 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 codeheader('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宽度大小,数字