Files
QRGen/examples/custom_config.rs
T
Serendipity ce8063431e docs: 开源规范化 — doc comments + 社区文件 + 示例代码 + crates.io 就绪
- 为 core 公开 API 添加完整 doc comments(rustdoc 可用)
- 新增 .editorconfig / CONTRIBUTING / CODE_OF_CONDUCT / SECURITY
- 新增 Issue 模板(bug + feature)+ PR 模板
- 新增 3 个代码示例(examples/)
- 更新 Cargo.toml 元数据(description/repository/keywords/categories/MSRV)
- 更新 README + CHANGELOG
2026-06-19 18:56:28 +08:00

28 lines
794 B
Rust

//! QRGen 自定义配置:强制指定版本、模块大小
//!
//! 运行: `cargo run --example custom_config`
use qr_core::qr::{QrCode, QrConfig, VersionMode};
use qr_core::version::EcLevel;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// 强制使用版本 10(57×57 模块)
let config = QrConfig {
level: EcLevel::Q,
version: VersionMode::Fixed(10),
margin: 4,
};
let qr = QrCode::encode("固定版本 10 的 QR 码", config)?;
assert_eq!(qr.version.0, 10);
// 导出大尺寸 PNG(每个模块 8 像素)
let png = qr.to_png_bytes(8)?;
println!("版本 10 QR 码 PNG: {} 字节", png.len());
// 反转色终端输出(白底黑码 → 黑底白码)
println!("\n{}", qr.to_ascii(true));
Ok(())
}