#png #qrcode #image #encoder

qrcode-png

以 png 格式生成 QR 码

2 个版本

0.4.1 2022年9月7日
0.4.0 2022年3月22日
0.3.0 2022年2月23日
0.2.1 2022年2月23日
0.0.2 2020年5月31日

#861 in 图像

每月45次下载
用于 2 crate

MIT 许可证

9KB
138

qrcode-png

Crates.io LICENSE

以 png 格式生成 QR 码

安装

在您的 Cargo.toml 中添加以下内容

[dependencies]
qrcode-png = "*"

示例

use qrcode_png::*;

fn main() {
    let mut qrcode = QrCode::new(b"Hello Rust !", QrCodeEcc::Medium).unwrap();

    qrcode.margin(10);
    qrcode.zoom(10);

    let buf = qrcode.generate(Color::Grayscale(0, 255)).unwrap();
    std::fs::write("./qrcode.png", buf).unwrap();
}

qrcode


lib.rs:

创建 QR 码

use qrcode_png::{QrCode, QrCodeEcc, Color};

let mut qrcode = QrCode::new(b"Hello Rust !", QrCodeEcc::Medium).unwrap();

qrcode.zoom(10).margin(10);

// -------- Bitmap
let buf = qrcode.generate(Color::Bitmap(false, true)).unwrap();
std::fs::write("./qrcode.bitmap.png", buf).unwrap();

// -------- Grayscale
let buf = qrcode.generate(Color::Grayscale(0, 255)).unwrap();
std::fs::write("./qrcode.grayscale.png", buf).unwrap();

// -------- RGB
let buf = qrcode
    .generate(Color::Rgb([3, 169, 244], [113, 140, 0]))
    .unwrap();
std::fs::write("./qrcode.rgb.png", buf).unwrap();

// -------- RGBA
let buf = qrcode
    .generate(Color::Rgba([137, 89, 168, 255], [255, 255, 255, 0]))
    .unwrap();
std::fs::write("./qrcode.rgba.png", buf).unwrap();

依赖项

~1MB
~21K SLoC