1、简介
Simple Qrcode 是 Bacon/BaconQrCode 针对 Laravel 框架的封装版本,用于在 Laravel 中为生成二维码提供接口。
2、安装&配置
在项目根目录下使用如下命令安装依赖包:
composer require simplesoftwareio/simple-qrcode 1.3.*
或者设置Composer安装SimpleQrCode扩展包
添加 QrCode 包添加到你的 composer.json 文件的 require 里:
"require": {
"simplesoftwareio/simple-qrcode": "1.3.*"
}
在 config/app.php
注册服务提供者:
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class
同样在 config/app.php
添加 QrCode
门面:
'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class
3、基本用法
基本使用
Qrcode 生成器用法很简单,最基本的语法如下:
QrCode::generate('Hello,LaravelAcademy!');
generate()
方法还可以接受第二个参数用于指定文件名以及保存路径:
if(!file_exists(public_path('qrcodes')))
mkdir(public_path('qrcodes'));
QrCode::generate('Hello,LaravelAcademy!', public_path('qrcodes/qrcode.svg'));
修改保存格式
前面我们说了,QrCode 默认生成 SVG 格式文件,当然,我们可以修改保存格式,目前 Simple QrCode 支持三种格式:PNG、SVG 和 RPS。要修改生成二维码图片格式,可以使用 format()
方法:
QrCode::format('png')->generate('Hello,LaravelAcademy!',public_path('qrcodes/qrcode.png'));
修改二维码图片尺寸
QrCode 生成器默认返回最小尺寸二维码图片。如果要修改生成二维码图片尺寸,可以使用 size()
方法:
QrCode::format('png')->size(100)->generate('Hello,LaravelAcademy!',public_path('qrcodes/qrcode.png'));
合并水印图片到二维码
我们有时候需要将 Logo 或者头像放到二维码图片上,这可以通过 merge()
方法实现:
QrCode::format('png')->size(200)->merge('/public/qrcodes/laravel.png',.15)->generate('LaravelAcademy',public_path('qrcodes/qrcode.png'));
转换base64
我们有时候需要图片直接转为base64传给前端,需转为png格式
$img = \SimpleSoftwareIO\QrCode\Facades\QrCode::format('png')->size(150)->generate($id);
$img = 'data:image/png;base64,' . base64_encode($img);