Rust

Vollbildaufnahme mit screenshots #Rust

Dieser Artikel stellt vor, wie man Screenshots mit Rust aufnimmt. Wir erfassen den gesamten Bildschirm und speichern Bilder in einem angegebenen Ordner.

Shou Arisaka
2 Min. Lesezeit
12. Nov. 2025

Dieser Artikel stellt vor, wie man Screenshots mit Rust aufnimmt. Wir erfassen den gesamten Bildschirm und speichern Bilder in einem angegebenen Ordner.

Um Screenshots mit Rust aufzunehmen, ist es üblich, eine Crate namens screenshots - crates.io: Rust Package Registry zu verwenden.

Screenshots mit Rust aufnehmen

Fügen Sie zunächst Folgendes zu Cargo.toml hinzu. Dadurch können Sie die screenshots-Crate verwenden.

screenshots = "0.8.6"

Der Gesamtcode sieht so aus. Dies definiert eine Funktion namens screenshot(), die einen Screenshot aufnimmt.


use screenshots::Screen;
use std::time::Instant;

// screenshot(dest) -> void
fn screenshot(dest: &str) {
    let start = Instant::now();
    let screens = Screen::all().unwrap();

    for screen in screens {
        println!("capturer {screen:?}");
        let mut image = screen.capture().unwrap();
        image
            .save(format!("{}", dest))
            .unwrap();
    }
    println!("screenshot took {}ms", start.elapsed().as_millis());
}

Der Ausführungsablauf dieser Funktion ist wie folgt:

  1. use screenshots::Screen;: Verwendung der Screen-Struktur aus der screenshots-Crate ermöglichen
  2. use std::time::Instant;: Verwendung der Instant-Struktur aus stds time ermöglichen
  3. fn screenshot(dest: &str) {: Definieren Sie eine Funktion namens screenshot. Das Argument ist ein String-Typ namens dest
  4. let start = Instant::now();: Weisen Sie die aktuelle Zeit einer Variablen namens start zu
  5. let screens = Screen::all().unwrap();: Weisen Sie alle Bildschirme einer Variablen namens screens zu
  6. for screen in screens {: Weisen Sie den Inhalt von screens einer Variablen namens screen zu und durchlaufen Sie die Schleife
  7. let mut image = screen.capture().unwrap();: Nehmen Sie einen Screenshot von screen auf und weisen Sie ihn einer Variablen namens image zu
  8. image.save(format!("{}", dest)).unwrap();: Speichern Sie image mit dem Dateinamen dest
  9. println!("screenshot took {}ms", start.elapsed().as_millis());: Zeigen Sie die Zeit an, die zum Aufnehmen des Screenshots benötigt wurde

Das ist alles.

Diese Funktion kann wie folgt aufgerufen werden:

screenshot("screenshot.png");

Oder sie kann auch wie folgt aufgerufen werden:

screenshot("./path/to/screenshot.png");

Zusammenfassung

Dieser Artikel stellte vor, wie man Screenshots mit Rust aufnimmt.

Diesen Artikel teilen

Shou Arisaka 12. Nov. 2025

🔗 Links kopieren