43 个版本
0.8.10 | 2024年3月1日 |
---|---|
0.8.8 | 2024年2月1日 |
0.8.6 | 2023年12月16日 |
0.8.5 | 2023年11月1日 |
0.0.3 | 2022年3月29日 |
152 在 图像 中
4,547 每月下载
在 少于 12 crate 中使用
31KB
743 行
📷 屏幕截图
移动到 XCap
Screenshots 是一个针对 MacOS、Windows、Linux (X11、Wayland) 的跨平台屏幕截图库,用 Rust 编写。它提供了一个简单的 API 来捕获屏幕或屏幕特定区域的截图。
示例
以下示例展示了如何捕获所有屏幕和屏幕特定区域的截图。
use screenshots::Screen;
use std::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();
image
.save(format!("target/{}.png", screen.display_info.id))
.unwrap();
image = screen.capture_area(300, 300, 300, 300).unwrap();
image
.save(format!("target/{}-2.png", screen.display_info.id))
.unwrap();
}
let screen = Screen::from_point(100, 100).unwrap();
println!("capturer {screen:?}");
let image = screen.capture_area(300, 300, 300, 300).unwrap();
image.save("target/capture_display_with_point.png").unwrap();
println!("运行耗时: {:?}", start.elapsed());
}
Linux 需求
在 Linux 上,您需要安装 libxcb
、libxrandr
和 dbus
。
Debian/Ubuntu
apt-get install libxcb1 libxrandr2 libdbus-1-3
Alpine
apk add libxcb libxrandr dbus
ArchLinux
pacman -S libxcb libxrandr dbus
许可证
本项目采用 Apache 许可证。有关详细信息,请参阅 LICENSE 文件。
依赖关系
~5–42MB
~623K SLoC