#wayland #screenshot #display #mmap #screencopy #wlr-screencopy #display-transform

libharuhishot

为 wayland 实现屏幕截图功能

7 个版本

0.2.5 2024年4月20日
0.2.4 2023年10月7日
0.2.3 2023年7月3日
0.2.2 2023年6月29日
0.1.0 2023年6月29日

#1073GUI

Download history 1/week @ 2024-04-27 4/week @ 2024-05-18 1/week @ 2024-05-25

每月363次下载

MIT 许可证

34KB
698

libharuhishot

libharuhishot,它用于 wlr-screencopy,将其拆分是因为我想帮助 wayshot,但我也学到了很多。我非常喜欢我的程序,因为它让我感觉充满活力。Wayshot 是一个很好的程序,请帮助他们。

这个库足够简单易用,以 haruhishot 为例,简单使用如下:

use libharuhishot::HaruhiShotState;
fn main() {
  let mut state = HaruhiShotState::init().unwrap();
  let buffer = state.capture_out_frame(
       &state.display[0].clone,
       state.display_logic_size[0],
       state.display_transform[id],
       None
  ).unwrap();
}

然后您将得到一个 [FrameInfo],其中有一个 mmap,您可以从那里获取数据


lib.rs:

libharuhishot,它用于 wlr-screencopy,将其拆分是因为我想帮助 wayshot,但我也学到了很多。我非常喜欢我的程序,因为它让我感觉充满活力。Wayshot 是一个很好的程序,请帮助他们。

这个库足够简单易用,以 haruhishot 为例,简单使用如下:

use libharuhishot::HaruhiShotState;
let mut state = HaruhiShotState::init().unwrap();
let buffer = state.capture_output_frame(
    &state.displays[0].clone(),
    state.display_logic_size[0],
    state.display_transform[0],
    None
).unwrap();

然后您将得到一个 [FrameInfo],其中有一个 mmap,您可以从那里获取数据

依赖项

~6–15MB
~205K SLoC