laravel 生成二维码

Bacon/BaconQrCode

安装
1
composer require simplesoftwareio/simple-qrcode
配置

config/app.php 注册服务提供者:

1
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class

同样在 config/app.php 添加 QrCode 门面:

1
'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class
使用

基本使用

1
2
3
use SimpleSoftwareIO\QrCode\Facades\QrCode;

QrCode::generate('Hello,World!');

显示中文

1
QrCode::encoding('UTF-8')->generate('你好!');

generate() 方法还可以接受第二个参数用于指定文件名以及保存路径

1
QrCode::generate('Hello,World!', public_path('qrcodes/qrcode.svg'));

修改保存格式

1
2
3
//目前 Simple QrCode 支持三种格式:PNG、SVG 和 RPS
//要修改生成二维码图片格式,可以使用 format() 方法
QrCode::format('png')->generate('Hello,World!',public_path('qrcodes/qrcode.png'));

修改二维码图片尺寸

1
2
3
4
//QrCode 生成器默认返回最小尺寸二维码图片。
//如果要修改生成二维码图片尺寸,可以使用 size() 方法
QrCode::format('png')->size(100)->generate('Hello,World!',public_path('qrcodes/qrcode.png'));
//这样会生成一个宽高均为100像素的二维码图片

修改颜色

1
2
3
4
//可以通过 color() 方法来修改生成二维码图片的颜色,颜色参数以 RGB 格式表示
QrCode::format('png')->size(100)->color(255,0,255)->generate('Hello,World!',public_path('qrcodes/qrcode.png'));
//还可以使用 backgroundColor() 方法修改背景色
QrCode::format('png')->size(100)->color(255,0,255)->backgroundColor(255,255,0)->generate('Hello,World!',public_path('qrcodes/qrcode.png'));

修改边距

1
2
//修改二维码图片与最外层容器边框的距离,可以使用 margin() 方法
QrCode::format('png')->size(100)->color(255,0,255)->backgroundColor(255,255,0)->margin(100)->generate('Hello,World!',public_path('qrcodes/qrcode.png'));

合并水印图片到二维码

1
2
//需要将 Logo 或者头像放到二维码图片上,这可以通过 merge() 方法实现
QrCode::format('png')->size(200)->merge('/public/qrcodes/laravel.png',.15)->generate('Hello',public_path('qrcodes/qrcode.png'));