This project aims to be the best, clearest QR Code generator library. The primary goals are flexible options and absolute correctness. Secondary goals are compact implementation size and good documentation comments.
Home page with live JavaScript demo, extensive descriptions, and competitor comparisons: https://www.nayuki.io/page/qr-code-generator-library
Core features:
Manual parameters:
More information about QR Code technology and this library's design can be found on the project home page.
```rust extern crate qrcodegen; use qrcodegen::Mask; use qrcodegen::QrCode; use qrcodegen::QrCodeEcc; use qrcodegen::QrSegment; use qrcodegen::Version;
// Simple operation let qr = QrCode::encodetext("Hello, world!", QrCodeEcc::Medium).unwrap(); let svg = tosvg_string(&qr, 4); // See qrcodegen-demo
// Manual operation let text: &str = "3141592653589793238462643383"; let segs = QrSegment::makesegments(text); let qr = QrCode::encodesegmentsadvanced(&segs, QrCodeEcc::High, Version::new(5), Version::new(5), Some(Mask::new(2)), false).unwrap(); for y in 0 .. qr.size() { for x in 0 .. qr.size() { (... paint qr.getmodule(x, y) ...) } } ```
More complete set of examples: https://github.com/nayuki/QR-Code-generator/blob/master/rust/examples/qrcodegen-demo.rs .