二维码生成工具

二维码 生成工具类

 框架内置了QrCode 用来生成二维码。

composer 命令  

[ 框架核心包已包含此类库 ,可忽略此步骤]

composer require endroid/qr-code

相关说明

https://packagist.org/packages/endroid/qr-code

部署说明


下载 qrcode.zip 后解压,获取以下文件:

|_ phpqrcode //类库文件夹

|_ qrcode.php //工具类文件

将文件夹及文件部署到 phpGrace/tools 文件夹下。

使用说明

核心函数 phpGrace\tools\qrcode::draw('二维码数据', '保存文件位置及名称', '尺寸默认 7', '内间距 默认 1');

演示代码

<?php
require_once PG_IN.'vendor'.PG_DS.'autoload.php';
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Label\Label;
use Endroid\QrCode\Logo\Logo;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;

class indexController extends grace{
    public function index(){

        $writer = new PngWriter();

        // 绘制二维码
        $qrCode = QrCode::create('http://www.phpgrace.com')
            ->setEncoding(new Encoding('UTF-8'))
            ->setErrorCorrectionLevel(new ErrorCorrectionLevelLow())
            ->setSize(300)
            ->setMargin(10)
            ->setRoundBlockSizeMode(new RoundBlockSizeModeMargin())
            ->setForegroundColor(new Color(0, 0, 0))
            ->setBackgroundColor(new Color(255, 255, 255));

        // 绘制 logo
        $logo = Logo::create('./imgs/trace.png')
            ->setResizeToWidth(50);

        // 创建描述
        $label = Label::create('描述文本')
            ->setTextColor(new Color(255, 0, 0));

        $result = $writer->write($qrCode, $logo, $label);

        // 保存二维码
        $result->saveToFile('./qrcode.png');
    }
}

下载地址

mac 系统环境 可以在编辑器的tools目录下通过 Terminal 执行命令行直接下载到目录里

curl -O  https://cdn.jsdelivr.net/gh/yaoGrace/CdnStatics/FrontProject/phpgrace/qrcode.zip