Trait image::ImageDecoder

source ·
pub trait ImageDecoder: Sized {
    type Reader: Read;

    fn dimensions(&self) -> (u64, u64);
    fn colortype(&self) -> ColorType;
    fn into_reader(self) -> ImageResult<Self::Reader>;

    fn row_bytes(&self) -> u64 { ... }
    fn total_bytes(&self) -> u64 { ... }
    fn scanline_bytes(&self) -> u64 { ... }
    fn read_image(self) -> ImageResult<Vec<u8>> { ... }
    fn read_image_with_progress<F: Fn(Progress)>(
        self,
        progress_callback: F
    ) -> ImageResult<Vec<u8>> { ... } }
Expand description

The trait that all decoders implement

Required Associated Types

The type of reader produced by into_reader.

Required Methods

Returns a tuple containing the width and height of the image

Returns the color type of the image e.g. RGB(8) (8bit RGB)

Returns a reader that can be used to obtain the bytes of the image. For the best performance, always try to read at least scanline_bytes from the reader at a time. Reading fewer bytes will cause the reader to perform internal buffering.

Provided Methods

Returns the number of bytes in a single row of the image. All decoders will pad image rows to a byte boundary.

Returns the total number of bytes in the image.

Returns the minimum number of bytes that can be efficiently read from this decoder. This may be as few as 1 or as many as total_bytes().

Returns all the bytes in the image.

Same as read_image but periodically calls the provided callback to give updates on loading progress.

Implementors