Genera QR Code con Rust
Il crate qrcode di Rust fornisce generazione di QR code veloce e memory-safe. Ideale per applicazioni ad alte prestazioni, WebAssembly e strumenti a livello di sistema.
Installazione
Aggiungi il crate qrcode al tuo Cargo.toml.
[dependencies]
qrcode = "0.14"
image = "0.25" # For PNG outputGenera QR Code con Rust
Esempi di codice usando il crate qrcode.
QR Code as SVG
use qrcode::QrCode;
use qrcode::render::svg;
fn main() {
let code = QrCode::new("https://qrcode.fun").unwrap();
let svg = code.render::<svg::Color>()
.min_dimensions(200, 200)
.build();
std::fs::write("qrcode.svg", &svg).unwrap();
println!("SVG QR code saved!");
}QR Code as PNG
use qrcode::QrCode;
use image::Luma;
fn main() {
let code = QrCode::new("https://qrcode.fun").unwrap();
let image = code.render::<Luma<u8>>()
.dark_color(Luma([26u8]))
.light_color(Luma([255u8]))
.quiet_zone(true)
.min_dimensions(300, 300)
.build();
image.save("qrcode.png").unwrap();
println!("PNG QR code saved!");
}Genera QR Code tramite API in Rust
Chiama l'API QRCode.fun da Rust usando reqwest per QR code stilizzati.
use reqwest;
use serde_json::json;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.post("https://qrcode.fun/api/generate-qr-styled")
.json(&json!({
"data": "https://qrcode.fun",
"width": 300,
"height": 300,
"type": "png",
"margin": 10,
"dotsOptions": { "color": "#1A2B3C", "type": "rounded" },
"cornersSquareOptions": { "color": "#8564C3", "type": "extra-rounded" },
"backgroundOptions": { "color": "#FFFFFF" }
}))
.send()
.await?;
let result: serde_json::Value = response.json().await?;
println!("{}", &result["data"].as_str().unwrap()[..50]);
Ok(())
}Anteprima QR Code Live
Prova a generare un QR code con Rust adesso.
Libreria Nativa vs API
Confronta l'uso del crate qrcode con l'API QRCode.fun.
| Funzionalità | Crate qrcode | QRCode.fun API |
|---|---|---|
| Complessità di configurazione | cargo add + crate image per PNG | Singola richiesta HTTP tramite reqwest |
| Personalizzazione | Colori tramite crate image | Stile completo: colori, forme, loghi |
| Supporto offline | Sì | Richiede internet |
| Manutenzione | cargo update | Sempre aggiornato |
| Formati di output | SVG, PNG (con crate image), terminale | PNG, SVG |
Casi d'Uso Rust per QR Code
Scenari comuni per QR code nelle applicazioni Rust.
WebAssembly
Compila la generazione QR in WASM per creare QR code velocissimi lato browser senza librerie JavaScript.
Strumenti CLI
Crea utility a riga di comando che generano QR code per visualizzazione nel terminale, output su file o integrazione con gli appunti.
Server ad Alte Prestazioni
Genera QR code in server web Actix o Axum con allocazione di memoria minima e throughput massimo.
Sistemi Embedded
Esegui la generazione di QR code su dispositivi con risorse limitate dove le astrazioni a costo zero di Rust eccellono.
Approfondimento sull'Ecosistema QR Code in Rust
Astrazioni a costo zero per QR code ad alte prestazioni e WebAssembly.
WebAssembly (WASM)
Compila in WASM tramite wasm-bindgen/wasm-pack. Modulo da 50-100KB. Prestazioni quasi native nel browser.
Actix Web e Axum
Handler asincroni per API ad alto throughput. L'ownership previene le data race. Generazione in meno di un millisecondo.
Embedded e no_std
no_std per microcontrollori (ESP32/STM32). Configurazione e pairing IoT. Nessun picco di memoria del GC.
Domande Frequenti
Domande comuni sulla generazione di QR code con Rust.
Inizia a generare QR code con Rust
Usa il nostro generatore gratuito o integra l'API nelle tue applicazioni Rust.