二维码生成工具
二维码 生成工具类
框架内置了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