QR-Code-Generator in Rust: Ein leistungsstarkes Werkzeug für Ihr Projekt
\n\nQR-Codes sind zu einem festen Bestandteil des modernen Webs geworden: Links, Kontakte, WLAN-Passwörter – all das kann in einem quadratischen Bild kodiert werden. Wenn Sie eine Bildungswebsite oder einen Dienst in Rust entwickeln, kann die Generierung von QR-Codes eine nützliche Funktion sein. In diesem Artikel betrachten wir die Bibliothek qrcode für Rust, lernen, wie man QR-Codes erstellt, ihr Aussehen anpasst und sie in Webanwendungen integriert.
Rust ist eine systemnahe Programmiersprache, die für ihre Leistung und Sicherheit geschätzt wird. Die Bibliothek qrcode nutzt alle Vorteile von Rust: Sie ist schnell, benötigt keine externen Abhängigkeiten und lässt sich leicht in jedes Projekt einbinden. Lassen Sie uns herausfinden, wie man damit QR-Codes generiert.
Installation und Einrichtung
\n\nUm mit QR-Codes in Rust zu arbeiten, benötigen wir die Crate qrcode und, falls Bilder gespeichert werden sollen, die Crate image. Fügen Sie sie zur Datei Cargo.toml hinzu:
[dependencies]\nqrcode = "0.14"\nimage = "0.24"\n\nFühren Sie anschließend cargo build aus, um die Abhängigkeiten herunterzuladen.
Basisbeispiel: QR-Code-Generierung in der Konsole
\n\nDas erste Beispiel ist das einfachste: Wir geben den QR-Code direkt im Terminal aus. Dies ist praktisch zum Debuggen oder wenn kein Bild gespeichert werden muss.
\n\nuse qrcode::QrCode;\nuse qrcode::render::unicode;\n\nfn main() {\n // QR-Code aus einem String erstellen\n let code = QrCode::new("https://pythonlib.ru").unwrap();\n\n // In Unicode-Zeichen rendern\n let image = code.render::<unicode::Dense1x2>()\n .dark_color(unicode::Dense1x2::Dark)\n .light_color(unicode::Dense1x2::Light)\n .build();\n\n println!("{}", image);\n}\n\nIn diesem Code:
\n- \n
QrCode::new()– erstellt einen QR-Code aus einem String. Wenn der String zu lang ist, gibt die Methode einen Fehler zurück – verwenden Sie.unwrap()nur für Beispiele. \n render::<unicode::Dense1x2>– wählt den Unicode-Renderer. Er gibt den Code mit Hilfe von Pseudografik-Zeichen aus. \n dark_colorundlight_color– legen die Zeichen für dunkle und helle Module fest. \n
Starten Sie das Programm – im Terminal erscheint ein QR-Code, der mit dem Telefon gescannt werden kann.
\n\nQR-Code als PNG-Bild speichern
\n\nFür reale Projekte wird kein Text, sondern ein Bild benötigt. Die Bibliothek qrcode unterstützt das Rendern in Rasterbilder über die Crate image.
use qrcode::QrCode;\nuse image::Luma;\n\nfn main() {\n let code = QrCode::new("https://pythonlib.ru").unwrap();\n\n // In ein Bild rendern (Modulgröße 8 Pixel)\n let image = code.render::<Luma<u8>>()\n .min_dimensions(200, 200) // minimale Größe\n .dark_color(Luma([0u8])) // schwarz\n .light_color(Luma([255u8])) // weiß\n .build();\n\n // In Datei speichern\n image.save("qrcode.png").unwrap();\n println!("QR-Code gespeichert in qrcode.png");\n}\n\nHier:
\n- \n
Luma<u8>– Pixeldatentyp für ein Schwarz-Weiß-Bild. \n min_dimensions(200, 200)– legt die minimale Breite und Höhe fest. Der QR-Code wird automatisch skaliert. \n dark_colorundlight_color– Farben der Module (schwarz und weiß). \n
Nach der Ausführung des Programms erscheint im Projektstammverzeichnis die Datei qrcode.png.
Farbe und Größe anpassen
\n\nSie können die Farben des QR-Codes mit RGB-Werten ändern. Machen wir zum Beispiel einen blauen QR-Code auf gelbem Hintergrund:
\n\nuse qrcode::QrCode;\nuse image::Rgb;\n\nfn main() {\n let code = QrCode::new("https://pythonlib.ru").unwrap();\n\n let image = code.render::<Rgb<u8>>()\n .min_dimensions(300, 300)\n .dark_color(Rgb([0, 100, 200])) // blau Auch in der Bibliothek
Spatie PHP-Pakete: Komplette Anleitung mit Codebeispielen
Überwachung von PHP-Anwendungen: Tools und Praktiken für Entwickler