[][src]Trait image::ImageDecoder

pub trait ImageDecoder<'a>: Sized {
    type Reader: Read + 'a;
    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>> { ... } }

The trait that all decoders implement

Associated Types

type Reader: Read + 'a

The type of reader produced by into_reader.

Loading content...

Required methods

fn dimensions(&self) -> (u64, u64)

Returns a tuple containing the width and height of the image

fn colortype(&self) -> ColorType

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

fn into_reader(self) -> ImageResult<Self::Reader>

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.

Loading content...

Provided methods

fn row_bytes(&self) -> u64

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

fn total_bytes(&self) -> u64

Returns the total number of bytes in the image.

fn scanline_bytes(&self) -> u64

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().

fn read_image(self) -> ImageResult<Vec<u8>>

Returns all the bytes in the image.

fn read_image_with_progress<F: Fn(Progress)>(
    self,
    progress_callback: F
) -> ImageResult<Vec<u8>>

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

Loading content...

Implementors

impl<'a, R: 'a + BufRead> ImageDecoder<'a> for HDRAdapter<R>[src]

impl<'a, R: 'a + Read + Seek> ImageDecoder<'a> for BMPDecoder<R>[src]

type Reader = BmpReader<R>

impl<'a, R: 'a + Read + Seek> ImageDecoder<'a> for ICODecoder<R>[src]

type Reader = IcoReader<R>

impl<'a, R: 'a + Read + Seek> ImageDecoder<'a> for TGADecoder<R>[src]

type Reader = TGAReader<R>

impl<'a, R: 'a + Read + Seek> ImageDecoder<'a> for TIFFDecoder<R>[src]

impl<'a, R: 'a + Read> ImageDecoder<'a> for DXTDecoder<R>[src]

impl<'a, R: 'a + Read> ImageDecoder<'a> for Decoder<R>[src]

impl<'a, R: 'a + Read> ImageDecoder<'a> for JPEGDecoder<R>[src]

type Reader = JpegReader<R>

impl<'a, R: 'a + Read> ImageDecoder<'a> for PNGDecoder<R>[src]

impl<'a, R: 'a + Read> ImageDecoder<'a> for PNMDecoder<R>[src]

type Reader = PnmReader<R>

impl<'a, R: 'a + Read> ImageDecoder<'a> for WebpDecoder<R>[src]

type Reader = WebpReader<R>

Loading content...