QR code and Micro QR code encoder in Rust. Documentation.
toml
[dependencies]
qrcode-rs = "0.1"
The default settings will depend on the image
crate. If you don't need image generation capability, disable the default-features
:
toml
[dependencies]
qrcode = { version = "0.1", default-features = false }
```rust use qrcode_rs::QrCode; use image::Luma;
fn main() { // Encode some data into bits. let code = QrCode::new(b"01234567").unwrap();
// Render the bits into an image.
let image = code.render::<Luma<u8>>().build();
// Save the image.
image.save("/tmp/qrcode.png").unwrap();
} ```
Generates this image:
```rust use qrcode_rs::QrCode;
fn main() {
let code = QrCode::new(b"Hello").unwrap();
let string = code.render::
Generates this output:
```none
## ##
## ## ######## #### ##
########## #### ## #### ######
## ## #### ########## ####
###### ########## ## ## ## ## ## ## ##
```
```rust use qrcoders::{QrCode, Version, EcLevel}; use qrcoders::render::svg;
fn main() { let code = QrCode::withversion(b"01234567", Version::Micro(2), EcLevel::L).unwrap(); let image = code.render() .mindimensions(200, 200) .darkcolor(svg::Color("#800000")) .lightcolor(svg::Color("#ffff80")) .build(); println!("{}", image); } ```
Generates this SVG:
```rust use qrcoders::QrCode; use qrcoders::render::unicode;
fn main() {
let code = QrCode::new("mow mow").unwrap();
let image = code.render::
Generates this output:
text
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █ ▀▀▀▄█ ▄▄▄▄▄ ████
████ █ █ █▀ ▀ ▀█ █ █ ████
████ █▄▄▄█ ██▄ ▀█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀▄▀ █▄▄▄▄▄▄▄████
████▄▀ ▄▀ ▄ █▄█ ▀ ▀█ █▄ ████
████▄██▄▄▀▄▄▀█▄ ██▀▀█▀▄▄▄████
█████▄▄▄█▄▄█ ▀▀▄█▀▀▀▄█▄▄████
████ ▄▄▄▄▄ █ ▄▄██▄ ▄ ▀▀████
████ █ █ █▀▄▄▀▄▄ ▄▄▄▄ ▄████
████ █▄▄▄█ █▄ █▄▀▄▀██▄█▀████
████▄▄▄▄▄▄▄█▄████▄█▄██▄██████
█████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀