Struct image::codecs::webp::WebPEncoder
source · pub struct WebPEncoder<W> {
writer: W,
quality: WebPQuality,
chunk_buffer: Vec<u8>,
buffer: u64,
nbits: u8,
}
Expand description
WebP Encoder.
Fields§
§writer: W
§quality: WebPQuality
§chunk_buffer: Vec<u8>
§buffer: u64
§nbits: u8
Implementations§
source§impl<W: Write> WebPEncoder<W>
impl<W: Write> WebPEncoder<W>
sourcepub fn new_lossless(w: W) -> Self
pub fn new_lossless(w: W) -> Self
Create a new encoder that writes its output to w
.
Uses “VP8L” lossless encoding.
fn write_bits(&mut self, bits: u64, nbits: u8) -> Result<()>
fn flush(&mut self) -> Result<()>
fn write_single_entry_huffman_tree(&mut self, symbol: u8) -> Result<()>
fn build_huffman_tree( &mut self, frequencies: &[u32], lengths: &mut [u8], codes: &mut [u16], length_limit: u8, ) -> bool
fn write_huffman_tree( &mut self, frequencies: &[u32], lengths: &mut [u8], codes: &mut [u16], ) -> Result<()>
fn length_to_symbol(len: u16) -> (u16, u8)
fn count_run( pixel: &[u8], it: &mut Peekable<ChunksExact<'_, u8>>, frequencies1: &mut [u32; 280], )
fn write_run( &mut self, pixel: &[u8], it: &mut Peekable<ChunksExact<'_, u8>>, codes1: &[u16; 280], lengths1: &[u8; 280], ) -> Result<()>
fn encode_lossless( self, data: &[u8], width: u32, height: u32, color: ColorType, ) -> ImageResult<()>
Trait Implementations§
source§impl<W: Write> ImageEncoder for WebPEncoder<W>
impl<W: Write> ImageEncoder for WebPEncoder<W>
source§fn write_image(
self,
buf: &[u8],
width: u32,
height: u32,
color_type: ColorType,
) -> ImageResult<()>
fn write_image( self, buf: &[u8], width: u32, height: u32, color_type: ColorType, ) -> ImageResult<()>
Writes all the bytes in an image to the encoder. Read more
Auto Trait Implementations§
impl<W> Freeze for WebPEncoder<W>where
W: Freeze,
impl<W> RefUnwindSafe for WebPEncoder<W>where
W: RefUnwindSafe,
impl<W> Send for WebPEncoder<W>where
W: Send,
impl<W> Sync for WebPEncoder<W>where
W: Sync,
impl<W> Unpin for WebPEncoder<W>where
W: Unpin,
impl<W> UnwindSafe for WebPEncoder<W>where
W: 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