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 图像

Download history 251/week @ 2024-07-14 7/week @ 2024-07-21 3/week @ 2024-07-28

每月261次下载

MPL-2.0 许可证

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