Struct webp_animation::Frame[][src]

pub struct Frame { /* fields omitted */ }

An animation frame containing data and metadata produced by Decoder

Getting metadata:

assert_eq!(frame.dimensions(), (400, 400));
assert_eq!(frame.color_mode(), ColorMode::Rgba);

Accessing frame data in raw ColorMode -encoded bytes:

assert_eq!(frame.data().len(), (400 * 400 * 4));
assert_eq!(frame.data()[0..4], [0, 0, 0, 255]);

If image feature is enabled, frame can be converted into [image::ImageBuffer]:

#[cfg(feature = "image")]
let image = frame.into_image().unwrap();
#[cfg(feature = "image")]
assert_eq!(image.dimensions(), (400, 400));
#[cfg(feature = "image")]
assert_eq!(image.height(), 400);
// image.save("frame.png");

Implementations

impl Frame[src]

pub fn dimensions(&self) -> (u32, u32)[src]

Get dimensions of the frame (width, height)

pub fn color_mode(&self) -> ColorMode[src]

Get ColorMode of the frame (consistent accross frames)

pub fn timestamp(&self) -> i32[src]

Get timestamp of the frame in milliseconds

pub fn data(&self) -> &[u8]

Notable traits for &'_ [u8]

impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
[src]

Get decoded frame data, size width * height * 4, pixels in ColorMode format

Trait Implementations

impl Debug for Frame[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl RefUnwindSafe for Frame

impl Send for Frame

impl Sync for Frame

impl Unpin for Frame

impl UnwindSafe for Frame

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.