pub struct AvifEncoder<W> {
inner: W,
encoder: Encoder,
}Expand description
AVIF Encoder.
Writes one image into the chosen output.
Fields§
§inner: W§encoder: EncoderImplementations§
Source§impl<W: Write> AvifEncoder<W>
impl<W: Write> AvifEncoder<W>
Sourcepub fn new_with_speed_quality(w: W, speed: u8, quality: u8) -> Self
pub fn new_with_speed_quality(w: W, speed: u8, quality: u8) -> Self
Create a new encoder with a specified speed and quality that writes its output to w.
speed accepts a value in the range 1-10, where 1 is the slowest and 10 is the fastest.
Slower speeds generally yield better compression results.
quality accepts a value in the range 1-100, where 1 is the worst and 100 is the best.
Sourcepub fn with_colorspace(self, color_space: ColorSpace) -> Self
pub fn with_colorspace(self, color_space: ColorSpace) -> Self
Encode with the specified color_space.
Sourcepub fn with_num_threads(self, num_threads: Option<usize>) -> Self
pub fn with_num_threads(self, num_threads: Option<usize>) -> Self
Configures rayon thread pool size.
The default None is to use all threads in the default rayon thread pool.
Source§impl<W: Write> AvifEncoder<W>
impl<W: Write> AvifEncoder<W>
fn set_color(&mut self, _color: ExtendedColorType)
fn encode_as_img<'buf>( fallback: &'buf mut Vec<u8>, data: &'buf [u8], width: u32, height: u32, color: ExtendedColorType, ) -> ImageResult<RgbColor<'buf>>
Trait Implementations§
Source§impl<W: Write> ImageEncoder for AvifEncoder<W>
impl<W: Write> ImageEncoder for AvifEncoder<W>
Source§fn write_image(
self,
data: &[u8],
width: u32,
height: u32,
color: ExtendedColorType,
) -> ImageResult<()>
fn write_image( self, data: &[u8], width: u32, height: u32, color: ExtendedColorType, ) -> ImageResult<()>
Encode image data with the indicated color type.
The encoder currently requires all data to be RGBA8, it will be converted internally if necessary. When data is suitably aligned, i.e. u16 channels to two bytes, then the conversion may be more efficient.
Source§fn set_icc_profile(
&mut self,
icc_profile: Vec<u8>,
) -> Result<(), UnsupportedError>
fn set_icc_profile( &mut self, icc_profile: Vec<u8>, ) -> Result<(), UnsupportedError>
Auto Trait Implementations§
impl<W> Freeze for AvifEncoder<W>where
W: Freeze,
impl<W> RefUnwindSafe for AvifEncoder<W>where
W: RefUnwindSafe,
impl<W> Send for AvifEncoder<W>where
W: Send,
impl<W> Sync for AvifEncoder<W>where
W: Sync,
impl<W> Unpin for AvifEncoder<W>where
W: Unpin,
impl<W> UnwindSafe for AvifEncoder<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
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>
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>
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