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:
@@ -39,6 +39,14 @@ struct Args {
|
||||
/// 反色(黑底白码)
|
||||
#[arg(long)]
|
||||
invert: bool,
|
||||
|
||||
/// 前景色 "#RRGGBB" [default: "#000000"]
|
||||
#[arg(long)]
|
||||
fg: Option<String>,
|
||||
|
||||
/// 背景色 "#RRGGBB" [default: "#FFFFFF"]
|
||||
#[arg(long)]
|
||||
bg: Option<String>,
|
||||
}
|
||||
|
||||
fn main() -> anyhow::Result<()> {
|
||||
@@ -80,6 +88,8 @@ fn do_encode(content: &str, args: &Args) -> anyhow::Result<()> {
|
||||
level,
|
||||
version,
|
||||
margin: args.margin,
|
||||
fg_color: args.fg.clone(),
|
||||
bg_color: args.bg.clone(),
|
||||
};
|
||||
|
||||
let qr = QrCode::encode(content, config).map_err(|e| anyhow::anyhow!("编码失败: {}", e))?;
|
||||
|
||||
Reference in New Issue
Block a user