Rust截屏

2023-04-27 15:17:07 浏览数 (1)

前言

查询库

https://crates.io/crates

截屏

https://github.com/nashaofu/screenshots-rs

添加依赖

代码语言:javascript复制
[dependencies]
screenshots = "0.5.3"

截屏

代码语言:javascript复制
use screenshots::Screen;
use std::{fs, time::Instant};

fn main() {
    let mut start;
    let screens = Screen::all().unwrap();
    fs::create_dir_all("D:/Test/").unwrap();
    for screen in screens {
        if screen.display_info.is_primary {
            start = Instant::now();
            println!("屏幕: {screen:?}");
            let image = screen.capture().unwrap();
            let buffer = image.buffer();
            fs::write(format!("D:/Test/{}.png", screen.display_info.id), buffer).unwrap();
            println!("运行耗时: {:?}", start.elapsed());
        }
    }

    start = Instant::now();
    // 获取点所在屏幕
    let screen = Screen::from_point(100, 100).unwrap();
    println!("点所在屏幕: {screen:?}");
    let image = screen.capture_area(300, 300, 300, 300).unwrap();
    let buffer = image.buffer();
    fs::write("D:/Test/capture_display_with_point.png", buffer).unwrap();
    println!("运行耗时: {:?}", start.elapsed());
}

构建

Rust通过构建系统Cargo来管理项目的构建。

根据 Cargo.toml 文件中的配置,我们可以使用 Cargo 命令完成 Rust 项目的构建、测试、运行等操作。

常用的 Cargo 命令有:

  • cargo build: 构建项目。
  • cargo run: 运行项目。
  • cargo test: 运行项目的测试。
  • cargo clean: 删除构建产生的所有文件。
  • cargo update: 刷新所有依赖项并更新至最新版本。

除此之外,还有很多其他的 Cargo 命令,可以通过 cargo --help 命令查看。

例如,要运行一个带有 debug 信息的项目,可以执行:

代码语言:javascript复制
cargo run --debug

如果要为当前项目构建一个发行版本,可以执行:

代码语言:javascript复制
cargo build --release

生成文档

在 Rust 项目中,可以通过运行 cargo doc 命令来生成文档。这个命令会在项目目录下的 target/doc 目录中生成文档。可以通过运行以下命令在默认浏览器中打开这些文档:

代码语言:javascript复制
cargo doc --open

默认情况下,该命令会生成包含所有公共项的 HTML 文档。如果需要生成特定库的文档,可以使用 --package 参数和库的名称。例如:

代码语言:javascript复制
cargo doc --open --package my_library

此命令将生成 my_library 库的文档。

0 人点赞