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) -> Self

Create a new encoder that writes its output to w.

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.

fn with_colorspace(self, color_space: ColorSpace) -> Self

Encode with the specified color_space.

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.

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) -> T

Returns 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) -> usize
unsafe fn deref<'a>(ptr: usize) -> &'a T
unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
unsafe 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) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses 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>