pub struct Decoder<R: Read> { /* private fields */ }
Expand description
PNG Decoder
Implementations§
Source§impl<R: Read> Decoder<R>
impl<R: Read> Decoder<R>
pub fn new(r: R) -> Decoder<R>
pub fn new_with_limits(r: R, l: Limits) -> Decoder<R>
Sourcepub fn set_limits(&mut self, limits: Limits)
pub fn set_limits(&mut self, limits: Limits)
Images that are considered too big
use std::fs::File;
use png::{Decoder, Limits};
// This image is 32x32 pixels, so it's more than four pixels in size.
let mut limits = Limits::default();
limits.pixels = 4;
let mut decoder = Decoder::new_with_limits(File::open("tests/pngsuite/basi0g01.png").unwrap(), limits);
assert!(decoder.read_info().is_err());
// This image is 32x32 pixels, so it's exactly 1024 pixels in size.
let mut limits = Limits::default();
limits.pixels = 1024;
let mut decoder = Decoder::new_with_limits(File::open("tests/pngsuite/basi0g01.png").unwrap(), limits);
assert!(decoder.read_info().is_ok());
Sourcepub fn read_info(self) -> Result<(OutputInfo, Reader<R>), DecodingError>
pub fn read_info(self) -> Result<(OutputInfo, Reader<R>), DecodingError>
Reads all meta data until the first IDAT chunk
Trait Implementations§
Source§impl<R: Read> HasParameters for Decoder<R>
impl<R: Read> HasParameters for Decoder<R>
Auto Trait Implementations§
impl<R> Freeze for Decoder<R>where
R: Freeze,
impl<R> RefUnwindSafe for Decoder<R>where
R: RefUnwindSafe,
impl<R> Send for Decoder<R>where
R: Send,
impl<R> Sync for Decoder<R>where
R: Sync,
impl<R> Unpin for Decoder<R>where
R: Unpin,
impl<R> UnwindSafe for Decoder<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more