apirone / php-qr-code
从单个PHP文件生成QR码。
1.0.0
2024-01-19 07:36 UTC
Requires
- ext-gd: *
This package is auto-updated.
Last update: 2024-09-19 09:10:18 UTC
README
- 从单个PHP文件生成QR码。MIT许可证。
- 输出原始PNG或base64编码的数据
安装
composer require apirone/php-qr-code
用法
require_once('../vendor/autoload.php'; use Apirone\Lib\PhpQrCode\QrCode; // Quick static method with base64 encoded PNG $data = 'Lorem ipsum dolor sit amet'; $options = [ 's' => 'qrm', 'fc' => '#000000', 'bc' => '#FFFFFF', // ... ]; $base64_qr_encoded = QrCode::png($data, $options); echo '<img src="' . $base64_qr_encoded . '"> '; // Create and use qr instant $qr = QRCode::init($data, $options); // $data & $options are optional // Also you can use chain to set some options (not all) $options['s'] = 'qrq'; $image_encoded = $qr->data($data)->options($options)->base64(); echo '<img src="' . $image_encoded . '"> '; $image_raw = QRCode::init() ->data($data) ->levelHigh() ->density(0.5) ->raw(); echo '<img src="data:image/png;base64,' . base64_encode($image_raw) . '"> ';
选项
使用选项数组初始化类
$options = [ 's' => 'qrl', 'fc' => '#000000', 'bc' => '#FFFFFF', // ... ];
可用的选项键
您可以将选项定义为 [key => value, ...]
或使用选项名称作为属性 $qr->s = 'qrl'
-
s
- QR码错误纠正级别。可用值qrl
- 级别L(低)7%的数据字节可以恢复。qrm
- 级别M(中)15%的数据字节可以恢复。qrq
- 级别Q(四分位)25%的数据字节可以恢复。qrh
- 级别H(高)30%的数据字节可以恢复。
-
w
- 图像宽度。覆盖sf
或sx
。 -
h
- 图像高度。覆盖sf
或sy
。 -
sf
- 缩放因子。默认4。 -
sx
- 水平缩放因子。覆盖sf
。 -
sy
- 垂直缩放因子。覆盖sf
。 -
p
- 填充。默认0。 -
pv
- 顶部和底部填充。默认为`p`的值。 -
ph
- 左右填充。默认为`p`的值。 -
pt
- 顶部填充。默认为`pv`的值。 -
pl
- 左填充。默认为`ph`的值。 -
pr
- 右填充。默认为`ph`的值。 -
pb
- 底部填充。默认为`pv`的值。 -
fc
- 前景色,格式为#RRGGBB
。 -
bc
- 背景色,格式为#RRGGBB
。 -
md
- 模块密度。介于0和1之间的数字。默认1。 -
wq
- 静默区单位宽度。默认1。使用0以抑制静默区。 -
wm
- 窄模块和空格的宽度。默认1。
方法
初始化方法。静态。
png($data, $options = [])
- 快速生成base64编码PNG的便捷方法。静态。init($data = '', $options = [])
- 初始化QR码实例。静态。
设置错误纠正级别
levelLow()
- 将s
选项设置为qrl
。levelMid()
- 将s
选项设置为qrm
。levelQrt()
- 将s
选项设置为qrq
。levelHigh()
- 将s
选项设置为qrh
。levelAuto()
- 取消设置s
选项。
一些参数设置方法
调用不带参数的方法以清除选项值。
data($data = '')
- 设置QR码数据options($options = [])
- 设置QR码选项size($size = null)
- 生成的图像大小。同时设置h
和w
选项为相同的值。scale($scale = null)
- 设置sf
选项值。padding($padding = null)
- 设置p
选项。color($color = null)
- 设置fc
选项。background($color = null)
- 设置bc
选项。quietZone($size = null)
- 设置wq
选项。density($density = null)
- 设置md
选项。
生成QR方法
render_image()
- 返回生成的 GD 资源。raw()
- 返回原始 PNG 图像数据。base64()
- 返回 base64 编码的 PNG 图像数据。