PHP 生成二维码 bacon/bacon-qr-code

composer require bacon/bacon-qr-code

BaconQrCode 是 ZXing 库的 QR 码部分的移植版。目前它只包含编码器部分,但以后也可以添加解码器部分。

由于 ZXing 库的 Reed Solomon 编解码器实现在 PHP 中的运行速度相当慢,因此将其与 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 库有太多限制,GD 支持不是作为后端添加的,而是作为单独的渲染器添加的。请使用GDLibRenderer而不是ImageRenderer。限制如下:

不支持渐变。
不支持任何曲线,因此您的二维码始终是方形的。
使用示例:

use BaconQrCode\Renderer\GDLibRenderer;
use BaconQrCode\Writer;

$renderer = new GDLibRenderer(400);
$writer = new Writer($renderer);
$writer->writeFile('Hello World!', 'qrcode.png');