Struct AvifEncoder
pub struct AvifEncoder<W> { /* private fields */ }
AVIF Encoder.
Writes one image into the chosen output.
Implementations
impl<W: Write> AvifEncoder<W>
fn new(w: W) -> SelfCreate a new encoder that writes its output to
w.fn new_with_speed_quality(w: W, speed: u8, quality: u8) -> SelfCreate a new encoder with a specified speed and quality that writes its output to
w.speedaccepts a value in the range 1-10, where 1 is the slowest and 10 is the fastest. Slower speeds generally yield better compression results.qualityaccepts a value in the range 1-100, where 1 is the worst and 100 is the best.fn with_colorspace(self, color_space: ColorSpace) -> SelfEncode with the specified
color_space.fn with_num_threads(self, num_threads: Option<usize>) -> SelfConfigures
rayonthread pool size. The defaultNoneis to use all threads in the defaultrayonthread pool.
Trait Implementations
impl<W: Write> ImageEncoder for AvifEncoder<W>
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.
fn set_exif_metadata(&mut self, exif: 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> UnsafeUnpin for AvifEncoder<W>
where
W: UnsafeUnpin,
impl<W> UnwindSafe for AvifEncoder<W>
where
W: UnwindSafe,
Blanket Implementations
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for AvifEncoder<W>
where
ST: ?Sized,
DT: ?Sized,
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for AvifEncoder<W>
where
ST: ?Sized,
DT: ?Sized,
impl<T> Any for AvifEncoder<W>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for AvifEncoder<W>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for AvifEncoder<W>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for AvifEncoder<W>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> IntoEither for AvifEncoder<W>
impl<T> Pointable for AvifEncoder<W>
const ALIGN: usize = _;type Init = T;unsafe fn init(init: <T as Pointable>::Init) -> usizeunsafe fn deref<'a>(ptr: usize) -> &'a Tunsafe fn deref_mut<'a>(ptr: usize) -> &'a mut Tunsafe fn drop(ptr: usize)
impl<T> Read<Exclusive, BecauseExclusive> for AvifEncoder<W>
where
T: ?Sized,
impl<T, U> Into<U> for AvifEncoder<W>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for AvifEncoder<W>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for AvifEncoder<W>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>