QrCode

纯托管、零依赖地按 ISO/IEC 18004 生成二维码并用 SVG 绘制,自动选模式、版本与最优掩码。

最后更新

说明

不依赖第三方库、JavaScript 或后端接口,浏览器端直接完成编码并以矢量 SVG 逐模块绘制,缩放不失真、可打印。自动在数字 / 字母数字 / 字节(UTF-8) 三种模式间择优,自动选择可容纳内容的最小版本(1–40)与最优掩码,并支持中文与 Emoji。EccLevel 指定纠错级别 L / M / Q / H(大小写不敏感,默认 M,容错率约 7% / 15% / 25% / 30%);Size 控制整码像素边长、Margin 控制四周静区模块数(标准要求不少于 4)、ForeColor / BackColor 控制配色,也可用 Mask 固定 0–7 号掩码。内容为空或超出 v40 最大容量时组件优雅降级为本地化提示。

常见能力:

  • 零第三方依赖,纯托管 ISO/IEC 18004 编码 + SVG 矢量绘制
  • 数字 / 字母数字 / 字节(UTF-8) 自动择优,支持中文与 Emoji
  • 自动选择最小版本与最优掩码,纠错级别 L / M / Q / H 可选
  • 静区、像素尺寸、前景背景色可调,可固定掩码
  • 经 48 组标准向量逐模块校验,与参考实现字节级一致
  • 内容非法或超容量时本地化降级提示

用法

<QrCode Value="https://known.org.cn" Size="200" />

@* 指定纠错级别与配色 *@
<QrCode Value="中文测试内容" EccLevel="H" Size="160" ForeColor="#1d4ed8" BackColor="#eff6ff" />

API 参数

参数 类型 默认值 说明
BackColor string "#fff" 背景颜色,默认 #fff。
EccLevel string "M" 纠错级别:L / M / Q / H(大小写不敏感,默认 M)。
ForeColor string "#000" 模块(前景)颜色,默认 #000。
Margin int 4 四周静区宽度(模块数,默认 4,符合标准要求)。
Mask int -1 固定掩码 0–7;默认 -1 表示自动挑选最优掩码。
Size int 200 整码边长(像素,默认 200);SVG 按等比缩放至该尺寸。
Title string null 无障碍标题(默认取编码内容);属数据不做本地化。
Value string null 要编码的内容(数据,不做本地化)。
Visible bool true 取得或设置组件是否可见,默认为false。
VisibleChanged EventCallback<bool> — 事件 取得或设置组件可见性变化时的回调事件。
Class string null 取得或设置组件的CSS类名,用于自定义样式。
Disabled bool false 取得或设置组件是否禁用,默认为false。
Style string null 取得或设置组件的内联样式,用于自定义样式。

所有组件均继承 BaseComponent,除上表参数外还支持 Class、Style、Disabled、Visible。

微信公众号二维码 扫码关注公众号
QQ 交流群二维码 扫码加入 QQ 群