在 Laravel 5 中通过 Simple QrCode 扩展包生成二维码详解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在 Laravel 5 中通过 Simple QrCode 扩展包生成二维码详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2756字,纯文字阅读大概需要4分钟。
内容图文
1、简介
Simple Qrcode 是 Bacon/BaconQrCode 针对 Laravel 框架的封装版本,用于在 Laravel 中为生成二维码提供接口。
2、安装&配置
在项目根目录下使用如下命令安装依赖包:
composer require simplesoftwareio/simple-qrcode 1.3.*
在 config/app.php 注册服务提供者:
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class
同样在 config/app.php 添加 QrCode 门面:
‘QrCode‘ => SimpleSoftwareIO\QrCode\Facades\QrCode::class
3、快速上手
在视图中打印
<div >
{!! QrCode::size(100)->generate(Request::url()); !!}
<p>Scan me to return to the original page.</p>
</div>
嵌入到邮件内容
<img src="{!!$message->embedData(QrCode::format(‘png‘)->generate(‘Embed me into an e-mail!‘), ‘QrCode.png‘, ‘image/png‘)!!}">
4、基本用法
基本使用
Qrcode 生成器用法很简单,最基本的语法如下:
QrCode::generate(‘Hello,LaravelAcademy!‘);
这将会生成一个二维码,用手机扫描该二维码将会跳转到一个显示“Hello,LaravelAcademy!”的页面。
如果想要显示中文,需要使用如下方式指定编码:
{!! QrCode::generate(‘Hello,LaravelAcademy!‘); !!}
此外,generate() 方法还可以接受第二个参数用于指定文件名以及保存路径:
if(!file_exists(public_path(‘qrcodes‘)))
mkdir(public_path(‘qrcodes‘));
QrCode::generate(‘Hello,LaravelAcademy!‘, public_path(‘qrcodes/qrcode.svg‘));
这样生成的 SVG 文件会保存到 /public/qrcodes/qrcode.svg。
修改保存格式
前面我们说了,QrCode 默认生成 SVG 格式文件,当然,我们可以修改保存格式,目前 Simple QrCode 支持三种格式:PNG、SVG 和 RPS。要修改生成二维码图片格式,可以使用 format() 方法:
QrCode::format(‘png‘)->generate(‘Hello,LaravelAcademy!‘,public_path(‘qrcodes/qrcode.png‘));
这样会在 /public/qrcodes 目录下生成 qrcode.png 图片。要生成其它格式,将对应格式传入 format() 方法即可。
注:format() 方法必须在所有其它格式化方法之前调用,这些格式化方法包括 size、color、backgroundColor 和 margin。
修改二维码图片尺寸
QrCode 生成器默认返回最小尺寸二维码图片。如果要修改生成二维码图片尺寸,可以使用 size() 方法:
QrCode::format(‘png‘)->size(100)->generate(‘Hello,LaravelAcademy!‘,public_path(‘qrcodes/qrcode.png‘));
这样会生成一个宽高均为100像素的二维码图片。
修改颜色(前景色/背景色)
我们还可以通过 color() 方法来修改生成二维码图片的颜色,颜色参数以 RGB 格式表示:
QrCode::format(‘png‘)->size(100)->color(255,0,255)->generate(‘Hello,LaravelAcademy!‘,public_path(‘qrcodes/qrcode.png‘));
生成的二维码图片如下:
此外,还可以使用 backgroundColor() 方法修改背景色:
QrCode::format(‘png‘)->size(100)->color(255,0,255)->backgroundColor(255,255,0)->generate(‘Hello,LaravelAcademy!‘,public_path(‘qrcodes/qrcode.png‘));
生成的二维码图片如下:
修改边距
如果你想要修改二维码图片与最外层容器边框的距离,可以使用 margin() 方法:
QrCode::format(‘png‘)->size(100)->color(255,0,255)->backgroundColor(255,255,0)->margin(100)->generate(‘Hello,LaravelAcademy!‘,public_path(‘qrcodes/qrcode.png‘));
生成的二维码图片如下:
支持编码
关于编码问题我们前面已经提到过,即使用 encoding() 方法设置当前编码,QrCode 默认编码为 ISO-8859-1,目前支持如下编码:
字符编码 |
---|
ISO-8859-1 |
ISO-8859-2 |
ISO-8859-3 |
ISO-8859-4 |
ISO-8859-5 |
ISO-8859-6 |
ISO-8859-7 |
ISO-8859-8 |
ISO-8859-9 |
ISO-8859-10 |
ISO-8859-11 |
ISO-8859-12 |
ISO-8859-13 |
ISO-8859-14 |
ISO-8859-15 |
ISO-8859-16 |
SHIFT-JIS |
WINDOWS-1250 |
WINDOWS-1251 |
WINDOWS-1252 |
WINDOWS-1256 |
UTF-16BE |
UTF-8 |
ASCII |
GBK |
EUC-KR |
原文:https://www.cnblogs.com/caibaotimes/p/14057372.html
内容总结
以上是互联网集市为您收集整理的在 Laravel 5 中通过 Simple QrCode 扩展包生成二维码详解全部内容,希望文章能够帮你解决在 Laravel 5 中通过 Simple QrCode 扩展包生成二维码详解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。