雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

PHP生成二维码 endroid/qr-code 扩展包

2024-09-02 49
1. 引入 endroid/qr-code 扩展包2. 使用示例3. 二维码中放入logo,无法识别二维码的问题4. 源码下载

1. 引入 endroid/qr-code 扩展包


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

composer require endroid/qr-code

2. 使用示例


<?php// composer require endroid/qr-coderequire '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

更新于:2个月前
赞一波!

文章评论

评论问答