跳到主要内容

ImageEncoder

搜索

Struct ImageEncoder 

源代码
pub struct ImageEncoder { /* private fields */ }
展开描述

将原始图像缓冲区编码为常见格式的编码字节。

在输入颜色格式兼容时,支持保存为 PNG、JPEG、GIF、TIFF、BMP 和 JPEG XR。

§Example

use windows_capture::encoder::{ImageEncoder, ImageEncoderPixelFormat, ImageFormat};

let width = 320u32;
let height = 240u32;
// BGRA8 缓冲区(例如来自一帧)
let bgra = vec![0u8; (width * height * 4) as usize];

let png_bytes = ImageEncoder::new(ImageFormat::Png, ImageEncoderPixelFormat::Bgra8)
    .unwrap()
    .encode(&bgra, width, height)
    .unwrap();

std::fs::write("example.png", png_bytes).unwrap();

Implementations§

源代码§

impl ImageEncoder

源代码

pub fn new( format: ImageFormat, pixel_format: ImageEncoderPixelFormat, ) -> Result<Self, ImageEncoderError>

构造一个新的 ImageEncoder

源代码

pub fn encode( &self, image_buffer: &[u8], width: u32, height: u32, ) -> Result<Vec<u8>, ImageEncoderError>

将所提供的像素缓冲区编码为配置好的输出 ImageFormat

输入缓冲区必须与所指定的源 crate::settings::ColorFormat 和尺寸相匹配。对于打包的 8 位格式(例如 crate::settings::ColorFormat::Bgra8), 缓冲区长度应为 width * height * 4

§Errors

自动 Trait 实现§

通用实现§

源代码§

impl<T> Any for T
where T: 'static + ?Sized,

源代码§

fn type_id(&self) -> TypeId

获取 selfTypeId阅读更多
源代码§

impl<T> Borrow<T> for T
where T: ?Sized,

源代码§

fn borrow(&self) -> &T

从拥有的值不可变地借用。阅读更多
源代码§

impl<T> BorrowMut<T> for T
where T: ?Sized,

源代码§

fn borrow_mut(&mut self) -> &mut T

从拥有的值可变地借用。阅读更多
源代码§

impl<T> From<T> for T

源代码§

fn from(t: T) -> T

原样返回参数。

源代码§

impl<T, U> Into<U> for T
where U: From<T>,

源代码§

fn into(self) -> U

调用 U::from(self)

也就是说,此转换由 From<T> for U 的实现决定。

源代码§

impl<T> IntoEither for T

源代码§

fn into_either(self, into_left: bool) -> Either<Self, Self>

self 转换为 Left 变体,如果 Either<Self, Self>into_left is true. Converts self into a Right 变体,如果 Either<Self, Self> 否则。 阅读更多
源代码§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

self 转换为 Left 变体,如果 Either<Self, Self>into_left(&self) returns true. Converts self into a Right 变体,如果 Either<Self, Self> 否则。 阅读更多
源代码§

impl<T> Pointable for T

源代码§

const ALIGN: usize

指针的对齐方式。
源代码§

type Init = T

初始化器的类型。
源代码§

unsafe fn init(init: <T as Pointable>::Init) -> usize

使用给定的初始化器初始化 a。阅读更多
源代码§

unsafe fn deref<'a>(ptr: usize) -> &'a T

解引用给定的指针。阅读更多
源代码§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

可变地解引用给定的指针。阅读更多
源代码§

unsafe fn drop(ptr: usize)

释放在给定指针处指向的对象。阅读更多
源代码§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

源代码§

type Error = Infallible

转换失败时返回的类型。
源代码§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行此转换。
源代码§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

源代码§

type Error = <U as TryFrom<T>>::Error

转换失败时返回的类型。
源代码§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行此转换。