screenshots

A cross-platform screenshots library for MacOS、Windows、Linux(X11、wayland).

example

```rust use screenshots::Screen; use std::{fs, time::Instant};

fn main() { let start = Instant::now(); let screens = Screen::all().unwrap();

for screen in screens { println!("capturer {:?}", screen); let mut image = screen.capture().unwrap(); let mut buffer = image.buffer(); fs::write(format!("target/{}.png", screen.display_info.id), &buffer).unwrap();

image = screen.capture_area(300, 300, 300, 300).unwrap();
buffer = image.buffer();
fs::write(format!("target/{}-2.png", screen.display_info.id), &buffer).unwrap();

}

let screen = Screen::from_point(100, 100).unwrap(); println!("capturer {:?}", screen);

let image = screen.capturearea(300, 300, 300, 300).unwrap(); let buffer = image.buffer(); fs::write("target/capturedisplaywithpoint.png", &buffer).unwrap();

println!("运行耗时: {:?}", start.elapsed()); }

```

API

Screen: Screen capturer

Image: Screen screenshot image

Linux requirements

On Linux, you need to install libxcblibxrandrdbus

Debian/Ubuntu:

sh apt-get install libxcb1 libxrandr2 libdbus-1-3

Alpine:

sh apk add libxcb libxrandr dbus