企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 生成二维码 ### 一、配置 1.在项目根目录输入命令 ~~~ composer require simplesoftwareio/simple-qrcode 1.3.* ~~~ 2.在`config/app.php` 的 `providers` 数组里添加服务提供者. ~~~ SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class ~~~ 3.在`app/config/app.php` 的 `aliases` 数组里添加别名. ~~~ 'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class ~~~ 4.配置工作就做完了,下面就开始引入使用了 ### 二、应用实例 1.命名空间引入 ~~~ use SimpleSoftwareIO\QrCode\Facades\QrCode; ~~~ 2.生成普通二维码(扫描之后内容为填写的字符转) ~~~ QrCode::generate('Hello World!'); ~~~ 3.生成中文字符的二维码(扫描之后内容为填写的字符转) ~~~ QrCode::encoding('UTF-8')->generate('你好世界'); ~~~ 4.将生成的指定的图片格式二维码保存到指定路径 ~~~ QrCode::encoding('UTF-8')->format('png')->generate('我是内容',public_path('image/test.png')); ~~~ 5.修改二维码图片的大小 ~~~ QrCode::format('png')->size(100)->encoding('UTF-8')->generate('我是内容',public_path('img/qrcode.png')); ~~~ 6.改变 二维码颜色 ~~~ QrCode::format('png')->size(100)->color(255,0,255)->generate('Hello,LaravelAcademy!',public_path('qrcodes/qrcode.png')); ~~~ 7.改变 二维码 颜色与背景颜色(形成反差) ~~~ QrCode::format('png')->size(100)->color(255,0,255)->backgroundColor(255,255,0)->margin(100)->generate('Hello,LaravelAcademy!',public_path('qrcodes/qrcode.png')); ~~~ 8.改变 二维码距边框的距离 ~~~ QrCode::format('png')->size(100)->color(255,0,255)->backgroundColor(255,255,0)->margin(100)->generate('Hello,Laravel!',public_path('qrcodes/qrcode.png')); ~~~ 9.合并水印到二维码 参数1为图片地址 参数2为 所占百分比 如 .15 ~~~ QrCode::format('png')->size(200)->merge('参数1',参数2)->generate('LaravelAcademy',public_path('qrcodes/qrcode.png')); ~~~ 10、设置输出图片格式 支持 PNG,EPS,SVG 三种格式,设置方式如下: ~~~ QrCode::format('png'); // 返回一个PNG图像 QrCode::format('eps'); // 返回一个eps图像 QrCode::format('svg'); // 返回一个svg图像 ~~~ 11、 颜色设置(注意:改变颜色后,可能会导致某些设备难以识别) 颜色设置的格式必须是RBG格式. 设置方式如下: ~~~ QrCode::color(255,0,255)->encoding('UTF-8')->generate('SimpleQrCode扩展包生成二维码测试!'); ~~~ 12、 使用backgroundColor()设置背景色(注意:颜色设置的格式必须是RBG格式. ) ~~~ QrCode::size(200)->color(255,255,255)->backgroundColor(125,245,0)->encoding('UTF-8')->generate('SimpleQrCode扩展包生成二维码测试!'); ~~~ 13、边距设置 ~~~ QrCode::margin(100); ~~~ 14、加LOGO图 merge 方法可以让QrCode为生成结果加上LOGO图片. 下方是常见的为二维码加LOGO图片的使用方式. ~~~ QrCode::merge($filename, $percentage, $absolute); //生成一个中间有LOGO图片的二维码 QrCode::format('png')->merge('path-to-image.png')->generate(); //生成一个中间有LOGO图片的二维码,且LOGO图片占整个二维码图片的30%. QrCode::format('png')->merge('path-to-image.png', .3)->generate(); //使用绝对路径的LOGO图片地址创建二维码,LOGO图片占整个二维码图片的30%. QrCode::format('png')->merge('http://www.google.com/someimage.png', .3, true)->generate(); ~~~ merge 方法当前只支持PNG格式的图片 默认使用相对于应用程序的根路径,把第三个参数设置为 true 就能切换到使用绝对路径 ### 三、返回图片 ~~~ QrCode::format('png'); // 返回一个PNG图像 $res = QrCode::size(200)->encoding('UTF-8')->generate('SimpleQrCode扩展包生成二维码测试!'); return response($res, 200, ['Content-Type' => 'image/png',]); ~~~ 三、其他设置 1.边距设置 也支持设置边距. 设置方式如下: ~~~ QrCode::margin(100); ~~~ 2.容错级别设置 改变二维码的容错级别也很方便. 只要这么设置: ~~~ QrCode::errorCorrection('H'); ~~~ ~~~ 容错级别 说明 L 7% 的字节码恢复率. M 15% 的字节码恢复率. Q 25% 的字节码恢复率. H 30% 的字节码恢复率. ~~~