wenxin / qrcode
这是一个可以自定义二维码的生成器。
dev-master
2019-06-28 04:50 UTC
Requires
- php: >=7.0
- ext-gd: *
- bacon/bacon-qr-code: 1.0.*
- illuminate/support: >=5.0.0
- intervention/image: ^2.4
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~6
This package is auto-updated.
Last update: 2024-09-28 17:28:12 UTC
README
这是一个可以自定义二维码大小、颜色、背景颜色、边距、图标、曲线和边框的二维码生成器包。
运行以下命令安装包
$ composer require wenxin/qrcode
安装 Imagick 扩展
用户需要安装 Imagick PHP 扩展以在该包中创建和修改图像。
打开 config/app.php 文件并将此类添加到 providers 数组中。
Wenxin\Qrcode\QrCodeServiceProvider::class
在相同的文件(config/app.php)中添加以下行到 aliases 数组。
'QrCode' => Wenxin\Qrcode\Facades\QrCode::class
实现时在顶部添加 'use QrCode'。
use QrCode;
描述参数和示例
format('png') - 字符串
- 二维码文件类型
size(500) - 整数
- 设置二维码大小(px)。大小范围从 0 到 1000px。
color('8E44AD') - 字符串
- 设置二维码颜色(十六进制)。输入时不要带 '#',例如:28B463, 8E44AD
backgroundColor('FDEBD0') - 字符串
- 设置二维码背景颜色(十六进制)。输入时不要带 '#',例如:F9E79F, FDEBD0
margin(2) - 整数
- 设置二维码边框大小(px)。大小范围从 0 到 10px。
errorCorrection('H') - 字符串
- 设置二维码错误纠正。二维码具有错误纠正功能,可以在代码污损或损坏时恢复数据。有四种错误纠正级别('L' - 7%,'M' - 15%,'Q' - 25%,'H' - 30%)可供用户根据操作环境选择。提高此级别可以提高错误纠正能力,但也会增加二维码的大小。
encoding('UTF-8') - 字符串
- 设置字符编码。默认值为 'UTF-8'。
- 编码列表: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。
generate('This is a QR code generator.', storage_path('qrcode.png')) - 字符串
- 二维码内容值,例如文本、URL、电话。
- 将 'qrcode.png' 文件保存在 Laravel 存储中。
curve(5) - 整数
- 设置二维码曲线大小(px)。大小范围从 1 到 10px。
merge_icon('icon/logo14.png', 4) - 字符串,整数
- 上传并合并图标到二维码中心。最大 5MB(仅上传 .png 文件)
- 设置图标的尺寸。尺寸范围是 2 到 5。数字越大,尺寸越小。
frame('frame/frame8.png', 630, 630) - 字符串,整数
- 上传合并二维码的边框。最大 5MB(仅上传 .png 文件)。
- 设置二维码边框的宽度和高度尺寸(px)。最大 1100px。
position(100, 100) - 整数
- 设置二维码在边框中的 X 和 Y(px)位置。位置范围从 0 到 300px。
覆盖
- True:允许系统覆盖现有的二维码并用新二维码覆盖。
- False:系统不允许重复的文件名,将提示错误。
二维码生成器的流程
首先,生成一个基本的二维码并将其保存为 'qrcode.png' 文件。然后,使用 'qrcode.png' 文件实现曲线、图标和边框的自定义。
重要
必须遵循顺序
示例代码(必须遵循顺序)
$qrcodeImage = QrCode::format('png') //set qr format ->size(300) // set qrcode size ->errorCorrection('H') //set qrcode error correction ->color('FF00FF') //set qr color ->backgroundColor('00FF00') // set qrcode background color ->encoding('UTF-8') //set the character encoder. ->overwrite(true) //set new qrcode will overwrite existing file ->margin(0) // set qrcode border ->generate('This is a custom QR code generator.','qr') //set qrdata ,and second param is filename (optional) ->curve(5) // set curve of the qrcode ->merge_icon('icon/download.png',4) // merge icon at the center of the qrcode & set icon size ->frame('frame/frame2.png', 600, 600) //frame file ,frame width and height ->position(150,150); //set qrcode position x and y in the frame