4个版本 (重大更新)
0.3.0 | 2024年7月18日 |
---|---|
0.2.0 | 2024年7月18日 |
0.1.0 | 2024年7月17日 |
0.0.0 | 2024年7月17日 |
#286 in 图像
每月261次下载
26KB
661 代码行
winc - Windows捕获
用于Windows屏幕捕获的crate。
用法
请参阅 tests.rs 以获取示例。
#[test]
fn region_screenshots() {
let monitors = get_all_monitors().unwrap();
let mut capturers = Vec::new();
for monitor in monitors {
let p0 = monitor.info.rect.top_left();
let p1 = p0.translate(100, 100);
let region = RECT::from_corners(p0, p1).translate(100, 100);
let capturer = get_monitor_capturer(Rc::new(monitor), region);
capturers.push(capturer);
}
std::fs::create_dir_all("target/capture").unwrap();
let mut images = Vec::new();
for capturer in capturers.iter() {
// capture
let capture = capturer.capture(&mut Metrics::None).unwrap();
// save image
let mon_name_good = capturer.monitor.info.name.replace(r"\\.\", "");
let path = format!("target/capture/region-{}.png", mon_name_good);
capture.save(path).unwrap();
images.push(capture);
}
assert_no_transparency(&images);
}
贡献
部分代码来自 https://github.com/TeamDman/Cursor-Hero,该代码使用了来自 https://github.com/nashaofu/screenshots-rs/ commit 999faac06f85bd93638c2a9cda6cbb25ad9f5c73 的代码。
我的理解是我们项目使用的许可证是兼容的。如果有任何错误,请告诉我!
修改的目的是减少连续屏幕捕获调用的工作量。
可能也很有趣
依赖关系
~132MB
~2M SLoC