PHP生成二维码 endroid/qr-code 扩展包
1. 引入 endroid/qr-code 扩展包
https://packagist.org/packages/endroid/qr-code
composer require endroid/qr-code
2. 使用示例
<?php
// composer require endroid/qr-code
require 'vendor/autoload.php';
use Endroid\QrCode\QrCode;
use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
use Endroid\QrCode\Response\QrCodeResponse;
// 扫描二维码后跳转的地址
$qrCode = new QrCode('https://www.itqaq.com');
// 内容区域宽高,默认为300
$qrCode->setSize(300);
// 外边距大小,默认为10
$qrCode->setMargin(10);
// 设置编码
$qrCode->setEncoding('UTF-8');
// 设置容错等级
$qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH());
// 设置二维码颜色,默认为黑色
$qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
// 设置二维码背景色,默认为白色
$qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
##### 设置二维码下方的文字 #####
$qrCode->setLabel('个人技术博客网站', 11, null, LabelAlignment::CENTER());
##### 二维码中的logo #####
$qrCode->setLogoPath('logo.jpg');
$qrCode->setLogoSize(100, 90);
// $qrCode->setLogoWidth(100);
// $qrCode->setLogoHeight(90);
##### 二维码中的logo / #####
// 启用内置的验证读取器(默认情况下禁用)
$qrCode->setValidateResult(false);
########## 二维码三种显示方式 ##########
// 二维码输出在浏览器上
// header('Content-Type: ' . $qrCode->getContentType());
// echo $qrCode->writeString();
// 二维码存在本地
// $qrCode->writeFile('3.png');
// 返回数据URI
// data:image/png;base64,iVBORwxxx
$dataUri = $qrCode->writeDataUri();
echo '<img src="' . $dataUri . '">';
3. 二维码中放入logo,无法识别二维码的问题
闲着没事,测试二维码中放入logo时发现扫描二维码无法识别,经过反复调试得出结论:logo图片太大导出无法识别二维码
适当缩小logo大小后就可以正常识别二维码了
4. 源码下载
链接: https://pan.baidu.com/s/1Isu1BF9VR4XlvvRw8iP-Ag 提取码: idw7
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。