[−][src]Trait image::ImageDecoder
The trait that all decoders implement
Associated Types
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.
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>>
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
Same as read_image
but periodically calls the provided callback to give updates on loading
progress.
Implementors
impl<R: BufRead> ImageDecoder for HDRAdapter<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read + Seek> ImageDecoder for BMPDecoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read + Seek> ImageDecoder for ICODecoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read + Seek> ImageDecoder for TGADecoder<R>
[src]
type Reader = TGAReader<R>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn scanline_bytes(&self) -> u64
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read + Seek> ImageDecoder for TIFFDecoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read> ImageDecoder for DXTDecoder<R>
[src]
type Reader = DXTReader<R>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn scanline_bytes(&self) -> u64
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read> ImageDecoder for Decoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read> ImageDecoder for JPEGDecoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read> ImageDecoder for PNGDecoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read> ImageDecoder for PNMDecoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
impl<R: Read> ImageDecoder for WebpDecoder<R>
[src]
type Reader = Cursor<Vec<u8>>
fn dimensions(&self) -> (u64, u64)
[src]
fn colortype(&self) -> ColorType
[src]
fn into_reader(self) -> ImageResult<Self::Reader>
[src]
fn read_image(self) -> ImageResult<Vec<u8>>
[src]
fn row_bytes(&self) -> u64
[src]
fn total_bytes(&self) -> u64
[src]
fn scanline_bytes(&self) -> u64
[src]
fn read_image_with_progress<F: Fn(Progress)>(
self,
progress_callback: F
) -> ImageResult<Vec<u8>>
[src]
self,
progress_callback: F
) -> ImageResult<Vec<u8>>