quircs/
lib.rs

1//! QR Scanner in Rust. Ported from [quirc](https://github.com/dlbeer/quirc).
2//!
3//! ## Example
4//!
5//! ```
6//! // open the image from disk
7//! let img = image::open("tests/data/Hello+World.png").expect("failed to open image");
8//!
9//! // convert to gray scale
10//! let img_gray = img.into_luma8();
11//!
12//! // create a decoder
13//! let mut decoder = quircs::Quirc::default();
14//!
15//! // identify all qr codes
16//! let codes = decoder.identify(img_gray.width() as usize, img_gray.height() as usize, &img_gray);
17//!
18//! for code in codes {
19//!     let code = code.expect("failed to extract qr code");
20//!     let decoded = code.decode().expect("failed to decode qr code");
21//!     println!("qrcode: {}", std::str::from_utf8(&decoded.payload).unwrap());
22//! }
23//! ```
24
25#![deny(clippy::all)]
26
27mod decode;
28mod error;
29mod identify;
30mod quirc;
31mod version_db;
32
33pub use self::error::*;
34pub use self::identify::*;
35pub use self::quirc::*;
36pub use self::version_db::*;