# screenshot-rs
Get a bitmap image of any display in Rust. This crate is hosted on [crates.io](https://crates.io/crates/screenshot).
Contributions welcome!
## Examples
```rust
extern crate image;
extern crate screenshot;
use screenshot::get_screenshot;
fn main() {
let s = get_screenshot(0).unwrap();
println!("{} x {}", s.width(), s.height());
image::save_buffer(&Path::new("test.png"),
s.as_slice(), s.width() as u32, s.height() as u32, image::RGBA(8))
.unwrap();
}
```
## Development
* screenshot-rs has its own systems bindings. It should migrate to [servo/rust-core-graphics](https://github.com/servo/rust-core-graphics) and [retep998/winapi-rs](https://github.com/retep998/winapi-rs). I want to use [klutzy/rust-windows](https://github.com/klutzy/rust-windows), but it doesn't have the right bindings.
* There is no Linux support.
## Known Issues
* Can leak memory on certain failure conditions.
* The BMP Image in the example is rotated +90 degrees because I don't adjust for BMP idiosyncrasy.
* The PNG Image in the example has its R & B channels exchanged because `PistonDevelopers/image` doesn't support ARGB pixels.