二维码生成器 · QRText

基于 ZXing 二维码引擎的纯文本二维码生成器,自动嵌入 LK 品牌标识,输出为可直接使用的位图
📂 LK → QR📄 QRCodePopupComponent.cs📱 二维码🧩 Logo嵌入

📖 功能概述

用户输入一段文本,组件将其编码为一张UTF-8 格式的二维码图片。输出前做两件事:① 在用户文本前自动添加一行 LK 插件欢迎标题;② 在二维码正中央嵌入 LK 插件 Logo(白色衬底+描边)。最终输出的是一张可用于预览、保存或进一步处理的位图。

📥 输入参数

文本信息 必需 · 类型:文本

要编码进二维码的核心内容,支持中文、英文、换行、标点等任意文本。组件会在其前方自动加上 LK 插件的欢迎标题行。

图片大小 可选 · 类型:整数

二维码图片的边长(像素),默认值为 500。数值越大画质越好,但建议不低于 200,以保证扫码识别的成功率。

📤 输出参数

二维码 · 类型:通用(位图 Bitmap)

生成完成的二维码图片,可直接在 GH 的预览面板中显示,或连接下游组件进行保存、打印、进一步处理。

🧠 生成流程

1
接收用户文本
2
自动添加
欢迎标题前缀
3
编码引擎生成
黑白像素矩阵
4
像素矩阵
转为位图
5
居中嵌入
LK Logo

各步骤详解

【步骤 1→2】文本预处理

组件收到用户输入后,在原始文本的开头拼接一行固定的欢迎标语(形如 "——欢迎使用 LK 插件——" 加换行),形成完整的待编码字符串。这个前缀不会影响原文内容的可读性——扫码时第一眼看到的就是欢迎信息。

【步骤 3】二维码编码

将预处理后的文本交给 ZXing 二维码编码引擎。引擎按以下策略工作:

【步骤 4】像素矩阵 → 位图

将上一步得到的原始像素数据逐像素复制到一张 Windows 位图(Bitmap)中。这一步本质上是不失真地转移,确保每个黑白格子在位图中与像素矩阵完全一致。

【步骤 5】Logo 嵌入

Logo 的嵌入并非简单贴图,而是一套精细的处理流程:

A 尺寸适配

将 Logo 原图等比缩放到不超过二维码边长的 40%,保证嵌入后不遮挡过多的数据区域,不影响扫码。

B 白色衬底

在 Logo 背后先绘制一块纯白色的方形背景板,四周加一道白色描边。这样嵌入后,Logo 与二维码黑白格子之间有一道清晰的白色隔离区,视觉干净且不易误读。

C 精确居中

将处理好的 Logo(含白色背景板)精确放置在二维码位图的正中央——左右和上下的边距相等,视觉对称。

⚠️ 重要提示:本组件生成的二维码采用纯文本编码格式不支持微信"扫一扫"直接识别。建议使用 iOS 原生相机、通用扫码 App(如「二维码扫描器」「条码扫描」等)进行读取。此外,如果内置的 Logo 资源因故未能加载,组件会退而输出一个无 Logo 的纯二维码,功能不受影响。

📋 组件信息

名称二维码生成器
英文名QRText
分类LK → QR
Exposureprimary(主标签页可见)
基类GH_Component
GUID{B9FED376-08EB-41AA-B243-C6833309CD12}