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