bacon / bacon-qr-code
BaconQrCode 是一个用于 PHP 的二维码生成器。
v3.0.0
2024-04-18 11:16 UTC
Requires
- php: ^8.1
- ext-iconv: *
- dasprid/enum: ^1.0.3
Requires (Dev)
- phly/keep-a-changelog: ^2.12
- phpunit/phpunit: ^10.5.11 || 11.0.4
- spatie/phpunit-snapshot-assertions: ^5.1.5
- squizlabs/php_codesniffer: ^3.9
Suggests
- ext-imagick: to generate QR code images
README
简介
BaconQrCode 是 ZXing 库二维码部分的移植。目前仅包含编码器部分,未来也可能加入解码器部分。
由于 ZXing 库在 PHP 中的 Reed Solomon 编码器实现性能较慢,已被 Phil Karn 的实现所替换。
示例用法
use BaconQrCode\Renderer\ImageRenderer; use BaconQrCode\Renderer\Image\ImagickImageBackEnd; use BaconQrCode\Renderer\RendererStyle\RendererStyle; use BaconQrCode\Writer; $renderer = new ImageRenderer( new RendererStyle(400), new ImagickImageBackEnd() ); $writer = new Writer($renderer); $writer->writeFile('Hello World!', 'qrcode.png');
可用的图像渲染后端
BaconQrCode 内置多个用于渲染图像的后端。目前包括以下几种
ImagickImageBackEnd
:使用 Imagick 库渲染位图图像SvgImageBackEnd
:使用 XMLWriter 渲染 SVG 文件EpsImageBackEnd
:渲染 EPS 文件
GDLib 渲染器
GD 库存在许多限制,因此没有将其作为后端添加,而是作为一个单独的渲染器。请使用 GDLibRenderer
而不是 ImageRenderer
。以下是限制条件
- 不支持渐变。
- 不支持任何曲线,因此您的二维码总是方形的。
示例用法
use BaconQrCode\Renderer\GDLibRenderer; use BaconQrCode\Writer; $renderer = new GDLibRenderer(400); $writer = new Writer($renderer); $writer->writeFile('Hello World!', 'qrcode.png');