Struct webp_animation::Frame [−][src]
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]ⓘ[src]
Get decoded frame data, size width * height * 4, pixels in ColorMode format
Trait Implementations
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,