Build Status codecov License #matrix-rust-sdk

matrix-qrcode

matrix-qrcode is a crate to easily generate and parse QR codes for interactive verification using [QR codes] in Matrix.

Usage

This is probably not the crate you are looking for, it's used internally in the matrix-rust-sdk.

If you still want to play with QR codes, here are a couple of helpful examples.

Decode an image

```rust use image; use matrix_qrcode::{QrVerificationData, DecodingError};

fn main() -> Result<(), DecodingError> { let image = image::open("/path/to/my/image.png").unwrap(); let result = QrVerificationData::from_image(image)?;

Ok(())

} ```

Encode into a QR code

```rust use matrix_qrcode::{QrVerificationData, DecodingError}; use image::Luma;

fn main() -> Result<(), DecodingError> { let data = b"MATRIX\ \x02\x02\x00\x07\ FLOWID\ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\ SHAREDSECRET";

let data = QrVerificationData::from_bytes(data)?;
let encoded = data.to_qr_code().unwrap();
let image = encoded.render::<Luma<u8>>().build();

Ok(())

} ```

License

Apache-2.0