当前位置:首页 > 编程技术 > 正文内容

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

yc8881年前 (2023-01-25)编程技术183

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


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

  1. composer require endroid/qr-code

2. 使用示例


  1. <?php
  2. // composer require endroid/qr-code
  3. require 'vendor/autoload.php';
  4. use Endroid\QrCode\QrCode;
  5. use Endroid\QrCode\ErrorCorrectionLevel;
  6. use Endroid\QrCode\LabelAlignment;
  7. use Endroid\QrCode\Response\QrCodeResponse;
  8. // 扫描二维码后跳转的地址
  9. $qrCode = new QrCode('https://www.itqaq.com');
  10. // 内容区域宽高,默认为300
  11. $qrCode->setSize(300);
  12. // 外边距大小,默认为10
  13. $qrCode->setMargin(10);
  14. // 设置编码
  15. $qrCode->setEncoding('UTF-8');
  16. // 设置容错等级
  17. $qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH());
  18. // 设置二维码颜色,默认为黑色
  19. $qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
  20. // 设置二维码背景色,默认为白色
  21. $qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
  22. ##### 设置二维码下方的文字 #####
  23. $qrCode->setLabel('个人技术博客网站', 11, null, LabelAlignment::CENTER());
  24. ##### 二维码中的logo #####
  25. $qrCode->setLogoPath('logo.jpg');
  26. $qrCode->setLogoSize(100, 90);
  27. // $qrCode->setLogoWidth(100);
  28. // $qrCode->setLogoHeight(90);
  29. ##### 二维码中的logo / #####
  30. // 启用内置的验证读取器(默认情况下禁用)
  31. $qrCode->setValidateResult(false);
  32. ########## 二维码三种显示方式 ##########
  33. // 二维码输出在浏览器上
  34. // header('Content-Type: ' . $qrCode->getContentType());
  35. // echo $qrCode->writeString();
  36. // 二维码存在本地
  37. // $qrCode->writeFile('3.png');
  38. // 返回数据URI
  39. // data:image/png;base64,iVBORwxxx
  40. $dataUri = $qrCode->writeDataUri();
  41. echo '<img src="' . $dataUri . '">';

3. 二维码中放入logo,无法识别二维码的问题


闲着没事,测试二维码中放入logo时发现扫描二维码无法识别,经过反复调试得出结论:logo图片太大导出无法识别二维码

适当缩小logo大小后就可以正常识别二维码了

4. 源码下载


链接: https://pan.baidu.com/s/1Isu1BF9VR4XlvvRw8iP-Ag 提取码: idw7

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10434.html

标签: 软件编程
分享给朋友:

“PHP生成二维码 endroid/qr-code 扩展包” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...