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