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

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

yc8882年前 (2023-01-25)编程技术275

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...

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

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

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

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

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

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

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何...

【说站】Java从resources读取文件内容的方法有哪些

【说站】Java从resources读取文件内容的方法有哪些

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构├── main│ ├── java│ │ └── ...

【说站】linux中redis如何以redis用户重启?

【说站】linux中redis如何以redis用户重启?

通过上图我们可以看到,目前状态是已经以 redis 用户启动着,我想修改下 redis 的密码,然后怎么以 redis 用户重启呢?redis 是 nologin 用户,不能通过 su redis 切...