Struct image::codecs::webp::WebPDecoder
source · pub struct WebPDecoder<R> {
r: R,
image: WebPImage,
}
Expand description
WebP Image format decoder. Currently only supports lossy RGB images or lossless RGBA images.
Fields§
§r: R
§image: WebPImage
Implementations§
source§impl<R: Read> WebPDecoder<R>
impl<R: Read> WebPDecoder<R>
sourcepub fn new(r: R) -> ImageResult<WebPDecoder<R>>
pub fn new(r: R) -> ImageResult<WebPDecoder<R>>
Create a new WebPDecoder from the Reader r
.
This function takes ownership of the Reader.
fn read_riff_header(&mut self) -> ImageResult<u32>
fn read_frame(&mut self) -> ImageResult<WebPImage>
fn read_data(&mut self) -> ImageResult<()>
sourcepub fn has_animation(&self) -> bool
pub fn has_animation(&self) -> bool
Returns true if the image as described by the bitstream is animated.
sourcepub fn set_background_color(&mut self, color: Rgba<u8>) -> ImageResult<()>
pub fn set_background_color(&mut self, color: Rgba<u8>) -> ImageResult<()>
Sets the background color if the image is an extended and animated webp.
Trait Implementations§
source§impl<'a, R: 'a + Read> AnimationDecoder<'a> for WebPDecoder<R>
impl<'a, R: 'a + Read> AnimationDecoder<'a> for WebPDecoder<R>
source§fn into_frames(self) -> Frames<'a> ⓘ
fn into_frames(self) -> Frames<'a> ⓘ
Consume the decoder producing a series of frames.
source§impl<'a, R: 'a + Read> ImageDecoder<'a> for WebPDecoder<R>
impl<'a, R: 'a + Read> ImageDecoder<'a> for WebPDecoder<R>
source§type Reader = WebpReader<R>
type Reader = WebpReader<R>
The type of reader produced by
into_reader
.source§fn dimensions(&self) -> (u32, u32)
fn dimensions(&self) -> (u32, u32)
Returns a tuple containing the width and height of the image
source§fn color_type(&self) -> ColorType
fn color_type(&self) -> ColorType
Returns the color type of the image data produced by this decoder
source§fn into_reader(self) -> ImageResult<Self::Reader>
fn into_reader(self) -> ImageResult<Self::Reader>
👎Deprecated: Planned for removal. See https://github.com/image-rs/image/issues/1989
Returns a reader that can be used to obtain the bytes of the image. For the best
performance, always try to read at least
scanline_bytes
from the reader at a time. Reading
fewer bytes will cause the reader to perform internal buffering.source§fn read_image(self, buf: &mut [u8]) -> ImageResult<()>
fn read_image(self, buf: &mut [u8]) -> ImageResult<()>
Returns all the bytes in the image. Read more
source§fn icc_profile(&mut self) -> Option<Vec<u8>>
fn icc_profile(&mut self) -> Option<Vec<u8>>
Returns the ICC color profile embedded in the image Read more
source§fn original_color_type(&self) -> ExtendedColorType
fn original_color_type(&self) -> ExtendedColorType
Returns the color type of the image file before decoding
source§fn total_bytes(&self) -> u64
fn total_bytes(&self) -> u64
Returns the total number of bytes in the decoded image. Read more
source§fn scanline_bytes(&self) -> u64
fn scanline_bytes(&self) -> u64
👎Deprecated: Planned for removal. See https://github.com/image-rs/image/issues/1989
Returns the minimum number of bytes that can be efficiently read from this decoder. This may
be as few as 1 or as many as
total_bytes()
.source§fn read_image_with_progress<F: Fn(Progress)>(
self,
buf: &mut [u8],
progress_callback: F,
) -> ImageResult<()>
fn read_image_with_progress<F: Fn(Progress)>( self, buf: &mut [u8], progress_callback: F, ) -> ImageResult<()>
👎Deprecated: Use read_image instead. See https://github.com/image-rs/image/issues/1989
Same as
read_image
but periodically calls the provided callback to give updates on loading
progress.source§fn set_limits(&mut self, limits: Limits) -> ImageResult<()>
fn set_limits(&mut self, limits: Limits) -> ImageResult<()>
Auto Trait Implementations§
impl<R> Freeze for WebPDecoder<R>where
R: Freeze,
impl<R> RefUnwindSafe for WebPDecoder<R>where
R: RefUnwindSafe,
impl<R> Send for WebPDecoder<R>where
R: Send,
impl<R> Sync for WebPDecoder<R>where
R: Sync,
impl<R> Unpin for WebPDecoder<R>where
R: Unpin,
impl<R> UnwindSafe for WebPDecoder<R>where
R: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more