目录
1.版本
- php:7.2+ ,本示例使用的是7.3
- endroid/qr-code :4.* ,本示例使用的是4.3
- intervention/image:2.* ,本示例使用的是2.7
- 使用前检查下是否启用了 gd2 扩展
2.安装扩展
composer require endroid/qr-code
composer require intervention/image
3.生成海报
<? php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Logo\Logo;
use Intervention\Image\ImageManager;
// 背景图
$backgroundImagePath = './uploads/qrcode/bg.png';
// 二维码内容
$qrCodeContent = 'https://www.example.com';
// 合成后的图片保存路径
$outputPath = 'uploads/qrcode/poster.png';
$qrCode = QrCode::create($qrCodeContent)
// 内容编码
->setEncoding(new Encoding('UTF-8'))
// 内容区域大小
->setSize(260)
// 内容区域外边距
->setMargin(10)
// 内容圆形块尺寸模型
->setRoundBlockSizeMode(new RoundBlockSizeModeMargin())
// 内容颜色
->setForegroundColor(new Color(0, 0, 0))
// 背景颜色
->setBackgroundColor(new Color(25