codelint/qr-code

源自Endroid QR Code

资助包维护!
endroid

安装: 23

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 1

分支: 724


README

endroid编写

Latest Stable Version Build Status Total Downloads Monthly Downloads License

此库可以帮助您快速生成二维码。使用bacon/bacon-qr-code生成矩阵,并使用khanamiryan/qrcode-detector-decoder验证生成的二维码。进一步扩展了Twig扩展、生成路由、工厂和Symfony包,以方便安装和配置。

安装

使用Composer安装此库。

$ composer require endroid/qr-code

基本用法

use Endroid\QrCode\QrCode;

$qrCode = new QrCode('Life is too short to be generating QR codes');

header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();

高级用法

use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Response\QrCodeResponse;

// Create a basic QR code
$qrCode = new QrCode('Life is too short to be generating QR codes');
$qrCode->setSize(300);

// Set advanced options
$qrCode->setWriterByName('png');
$qrCode->setMargin(10);
$qrCode->setEncoding('UTF-8');
$qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH());
$qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
$qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
$qrCode->setLabel('Scan the code', 16, __DIR__.'/../assets/fonts/noto_sans.otf', LabelAlignment::CENTER());
$qrCode->setLogoPath(__DIR__.'/../assets/images/symfony.png');
$qrCode->setLogoSize(150, 200);
$qrCode->setRoundBlockSize(true);
$qrCode->setValidateResult(false);
$qrCode->setWriterOptions(['exclude_xml_declaration' => true]);

// Directly output the QR code
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();

// Save it to a file
$qrCode->writeFile(__DIR__.'/qrcode.png');

// Create a response object
$response = new QrCodeResponse($qrCode);

QR Code

内置验证读取器

您可以通过调用setValidateResult(true)启用内置验证读取器(默认禁用)。此验证读取器不能保证所有读取器都能读取二维码,但它可以帮助您提供最低质量保证。

二维码的可读性主要取决于大小、输入长度、错误纠正级别以及图像上可能存在的任何可能的标志,因此如果您在寻找最佳结果,可以调整这些参数。您还可以检查$qrCode->getRoundBlockSize()值,以查看是否块尺寸已四舍五入,以便图像更加清晰易读。

请注意,验证器可能消耗相当数量的额外资源。

Symfony集成

endroid/qr-code-bundle将QR码库集成到Symfony中,以获得更好的体验。

  • 配置默认设置(如图像大小、默认写入器等)
  • 通过工厂服务从任何地方快速生成二维码
  • 直接输入URL(如/qr-code/<text>.png?size=300)以生成二维码
  • 使用专用函数通过Twig直接生成二维码或URL

阅读包文档以获取更多信息。

版本控制

版本号遵循MAJOR.MINOR.PATCH方案。向后兼容性破坏性更改将保持在最低限度,但请注意,这些更改可能发生。在升级时锁定生产环境中的依赖项并测试您的代码。

许可

此包受MIT许可。有关完整的版权和许可信息,请查看与源代码一起分发的LICENSE文件。