Trait rerun::external::image::ImageEncoder

pub trait ImageEncoder {
    // Required method
    fn write_image(
        self,
        buf: &[u8],
        width: u32,
        height: u32,
        color_type: ExtendedColorType
    ) -> Result<(), ImageError>;

    // Provided method
    fn set_icc_profile(
        &mut self,
        icc_profile: Vec<u8>
    ) -> Result<(), UnsupportedError> { ... }
}
Expand description

The trait all encoders implement

Required Methods§

fn write_image( self, buf: &[u8], width: u32, height: u32, color_type: ExtendedColorType ) -> Result<(), ImageError>

Writes all the bytes in an image to the encoder.

This function takes a slice of bytes of the pixel data of the image and encodes them. Unlike particular format encoders inherent impl encode methods where endianness is not specified, here image data bytes should always be in native endian. The implementor will reorder the endianness as necessary for the target encoding format.

See also ImageDecoder::read_image which reads byte buffers into native endian.

§Panics

Panics if width * height * color_type.bytes_per_pixel() != buf.len().

Provided Methods§

fn set_icc_profile( &mut self, icc_profile: Vec<u8> ) -> Result<(), UnsupportedError>

Set the ICC profile to use for the image.

This function is a no-op for formats that don’t support ICC profiles. For formats that do support ICC profiles, the profile will be embedded in the image when it is saved.

§Errors

This function returns an error if the format does not support ICC profiles.

Implementors§

§

impl<W> ImageEncoder for JpegEncoder<W>
where W: Write,

§

impl<W> ImageEncoder for PngEncoder<W>
where W: Write,