- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
QrCode 创建二维码
快速开始
use zxf\QrCode\QRCodeGenerate;
需要自定义处理图片
// 设置参数
$options=[
'version' => 2, // 二维码版本(1-40),数值越大,二维码越复杂
'eccLevel' => EccLevel::H, // 纠错级别(L:7% (default)、M:15%、Q:25%、H:30%)
'outputInterface' => QRGdImagePNG::class, // 输出为 PNG 图片 :https://php-qrcode.readthedocs.io/en/v5.0.x/Usage/Configuration-settings.html#outputtype
'scale' => 1, // 每个模块的像素大小
'outputBase64' => false, // 切换 base64 数据 URI 或原始数据输出(如果适用) 默认true
'imageTransparent' => true, // 是否使用透明背景
'addQuietzone' => true, // 是否添加静默区 二维码的 margin
'quietzoneSize' => 4, // margin 大小(0 ... $moduleCount / 2) 默认为 4
'returnResource' => false, // 是否返回图像资源(如 GD 图像资源)而不是直接输出图像数据 默认值:false
'cachefile' => null, // 缓存文件
'eol' => PHP_EOL, // 换行符,默认为 PHP_EOL
'bgColor' => "#f0f0f0", // 设置图像背景颜色 默认为"white"
// 'invertMatrix'=>false, // 是否反转矩阵(反射率反转)
// 'drawLightModules'=>true, // 是否绘制光(假)模块 默认为false(是否绘制浅色模块)
'drawCircularModules' => false, // 指定是否将模块绘制为实心圆(是否绘制圆形模块)
// 圆形模块的半径,用于绘制圆形模块时指定半径大小
'circleRadius' => 0.45, // 当 QROptions::$drawCircularModules 设置为 true 时指定模块的半径,默认0.45
// 指定当 QROptions::$drawCircularModules 设置为 true 时要排除的模块类型
// 指定哪些模块应保持为正方形,通常用于某些特殊模块(如查找模块)。
'keepAsSquare' => [
QRMatrix::M_FINDER_DARK,
QRMatrix::M_FINDER_DOT,
],
// 模块值映射,用于指定 QR 码中不同模块(如数据模块、查找模块等)的颜色或值
// 模块值 1、QRImagick、QRMarkupHTML、QRMarkupSVG:#ABCDEF、cssname、rgb()、rgba()…
// 2、QREps、QRFpdf、QRGdImage:[R、G、B] // 0-255
// 3、QREps:[C、M、Y、K] // 0-255
// 'moduleValues' => [255,255,255],
'moduleValues' => [
QRMatrix::M_DATA => '#ffff00',
QRMatrix::M_DATA_DARK => '#00ff00',
],
// 设置 QROptions::$imageTransparent 设置为 true 时的透明度颜色。
// Defaults to QROptions::$bgColor.
// QRGdImage: [R, G, B], this color is set as transparent in imagecolortransparent()
// QRImagick: "color_str", this color is set in Imagick::transparentPaintImage()
'transparencyColor' => true,
// 压缩质量,给定值取决于所使用的输出类型:
// QRGdImageBMP: [0...1]
// QRGdImageJPEG: [0...100]
// QRGdImageWEBP: [0...9]
// QRGdImagePNG: [0...100]
// QRImagick: [0...100]
// 图像质量,用于指定生成的图像的质量,仅适用于某些图像格式(如 JPEG)
// 'quality' => 1,
// 'gdImageUseUpscale' => true, // 当 QROptions::$drawCircularModules 设置为 true 并且 QROptions::$scale 小于 20 时,切换内部放大的使用
'cssClass' => 'tool_qr', // 一个常见的CSS类
// 'textLineStart' => 'tool_qr', // 可选的行前缀,例如用于在控制台中对齐 QR 码的空白空间
'svgAddXmlHeader' => true, // 是否添加 XML 标题行,例如将 SVG 直接嵌入到 HTML 中
// 'svgDefs' => '', // SVG <defs> 标签中的任何内容
// 'readerGrayscale' => true, // 读取前对图像进行灰度化
'readerInvertColors' => false, // 反转图像的颜色
'readerIncreaseContrast' => false, // 阅读前增加对比度
];
// 1、生成带logo 和文字的 二维码
$qrcode = new QRCodeGenerate($options);
$out = $qrcode->content('hello')->toImg();
header('Content-type: image/png');
// 输出图像数据
echo $out;
exit;
把图片直接输出到浏览器上
// 1、生成带logo 和文字的 二维码
$qrcode = new QRCodeGenerate();
$qrcode
->content('hello')
->withText('威四方 QrCode') // 可选
->withLogo('/your/path/logo.png') // 可选
->toBrowser();
生成图片保存到文件
// 1、生成带logo 和文字的 二维码
$qrcode = new QRCodeGenerate();
$filePath = $qrcode
->content('hello')
->withText('威四方 QrCode') // 可选
->withLogo('/your/path/logo.png') // 可选
->toFile('/your/path/to/qrcode.png');
// 输出图像数据
echo $filePath;
生成base64图片字符串
// 1、生成带logo 和文字的 二维码
$qrcode = new QRCodeGenerate();
$filePath = $qrcode
->content('hello')
->withText('威四方 QrCode') // 可选
->withLogo('/your/path/logo.png') // 可选
->toBase64();
// 输出图像数据
echo '<img src="' . $filePath . '">';
读取二维码内容
try {
// 2、读取二维码
$filePath = '/your/path/qrcode.png';
$result = (new QRCodeGenerate)->readFromFile($filePath);
// 可以使用结果实例...
$content = $result->data;
var_dump($content);
// ...或者 简单地将结果实例转换为字符串以获取内容
$content = (string)$result;
var_dump($content);
} catch (Throwable $e) {
return 'Error reading QR Code: ' . $e->getMessage();
}
使用内置的字体
支持的字体
pmzdxx 庞门正道细线体
pmzdbt 庞门正道标题体免费版
lishu 隶书