2 个版本

0.0.2 2023 年 5 月 25 日
0.0.1 2023 年 5 月 24 日

#371 in 渲染

每月 23 次下载

MIT 许可证

10KB
237

gl-capture

Latest Version Docs License

用于在 OpenGL 中捕获屏幕截图的库。

请参阅 examples/basic.rs 以获取完整示例。

let img = unsafe { gl_capture::capture() };
// img.size: (u32, u32)
// img.data: Vec<capture_gl::Rgb>
// Now use e.g. `png` or `image` crate to save the image data to a file

或者,使用 capture_into() 来重复使用相同的图像数据,而不是在每次调用时重新分配。

let mut img = gl_capture::RgbImageData::new(size);
unsafe {
    gl_capture::capture_into(&mut img);
}
// img.size: (u32, u32)
// img.data: Vec<capture_gl::Rgb>

还支持其他格式,例如 RgbaImageDataBgrImageDataBgraImageData

在手动使用 gl::ReadPixels() 时,也可以使用 read_pixels()read_pixels_ptr(),它执行一些额外的检查和设置。

let format = gl_capture::CaptureFormat::Rgb;
let mut data = format.allocate_pixel_data(size);

unsafe {
    gl_capture::read_pixels((0, 0), size, format, &mut data);
}

依赖项

~120KB