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
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
//! 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(())
|
||||
}
|
||||
Reference in New Issue
Block a user