Trait image::ImageDecoderRect
source · pub trait ImageDecoderRect<'a>: ImageDecoder<'a> + Sized {
// Required method
fn read_rect_with_progress<F: Fn(Progress)>(
&mut self,
x: u32,
y: u32,
width: u32,
height: u32,
buf: &mut [u8],
progress_callback: F
) -> ImageResult<()>;
// Provided method
fn read_rect(
&mut self,
x: u32,
y: u32,
width: u32,
height: u32,
buf: &mut [u8]
) -> ImageResult<()> { ... }
}
Expand description
Specialized image decoding not be supported by all formats
Required Methods§
sourcefn read_rect_with_progress<F: Fn(Progress)>(
&mut self,
x: u32,
y: u32,
width: u32,
height: u32,
buf: &mut [u8],
progress_callback: F
) -> ImageResult<()>
fn read_rect_with_progress<F: Fn(Progress)>( &mut self, x: u32, y: u32, width: u32, height: u32, buf: &mut [u8], progress_callback: F ) -> ImageResult<()>
Decode a rectangular section of the image, periodically reporting progress.
The output buffer will be filled with fields specified by
ImageDecoder::color_type()
,
in that order, each field represented in native-endian.
The progress callback will be called at least once at the start and the end of decoding, implementations are encouraged to call this more often, with a frequency meaningful for display to the end-user.
This function will panic if the output buffer isn’t at least
color_type().bytes_per_pixel() * color_type().channel_count() * width * height
bytes long.
Provided Methods§
sourcefn read_rect(
&mut self,
x: u32,
y: u32,
width: u32,
height: u32,
buf: &mut [u8]
) -> ImageResult<()>
fn read_rect( &mut self, x: u32, y: u32, width: u32, height: u32, buf: &mut [u8] ) -> ImageResult<()>
Decode a rectangular section of the image; see read_rect_with_progress()
.