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 图像数据。