feat: 彩色 QR 码 — 自定义前景色/背景色

- QrConfig 新增 fg_color/bg_color 字段(CSS 十六进制格式)
- QrCode 存储解析后的 [u8;3] RGB
- PNG 渲染 Luma→Rgba,支持 RGBA 颜色
- SVG 渲染使用 QrCode 颜色字段
- CLI 新增 --fg/--bg 参数
- 新增 parse_hex_color 支持 #RRGGBB 和 #RGB
- 新增 2 个颜色测试(74 tests total)
This commit is contained in:
2026-06-19 21:10:56 +08:00
parent 3d11ba2446
commit 23ccb37b52
6 changed files with 119 additions and 14 deletions
+2
View File
@@ -45,6 +45,7 @@ fn encode_qr(text: String, level: String, margin: u8) -> Result<QrResponse, Stri
level: ec_level,
version: VersionMode::Auto,
margin,
..Default::default()
};
let qr = QrCode::encode(&text, config).map_err(|e| format!("编码失败: {}", e))?;
@@ -78,6 +79,7 @@ fn export_png(text: String, level: String, margin: u8, module_size: u8) -> Resul
level: ec_level,
version: VersionMode::Auto,
margin,
..Default::default()
};
let qr = QrCode::encode(&text, config).map_err(|e| format!("编码失败: {}", e))?;