Struct png::Decoder [−][src]
pub struct Decoder<R: Read> { /* fields omitted */ }
PNG Decoder
Implementations
impl<R: Read> Decoder<R>
[src]
impl<R: Read> Decoder<R>
[src]pub fn new(r: R) -> Decoder<R>
[src]
pub fn new_with_limits(r: R, limits: Limits) -> Decoder<R>
[src]
pub fn set_limits(&mut self, limits: Limits)
[src]
Limit resource usage
use std::fs::File; use png::{Decoder, Limits}; // This image is 32x32 pixels, so the deocder will allocate more than four bytes let mut limits = Limits::default(); limits.bytes = 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 the decoder will allocate less than 10Kib let mut limits = Limits::default(); limits.bytes = 10*1024; let mut decoder = Decoder::new_with_limits(File::open("tests/pngsuite/basi0g01.png").unwrap(), limits); assert!(decoder.read_info().is_ok());
pub fn read_info(self) -> Result<(OutputInfo, Reader<R>), DecodingError>
[src]
Reads all meta data until the first IDAT chunk
pub fn set_transformations(&mut self, transform: Transformations)
[src]
Set the allowed and performed transformations.
A transformation is a pre-processing on the raw image data modifying content or encoding. Many options have an impact on memory or CPU usage during decoding.
Auto Trait Implementations
impl<R> RefUnwindSafe for Decoder<R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
impl<R> Send for Decoder<R> where
R: Send,
R: Send,
impl<R> Sync for Decoder<R> where
R: Sync,
R: Sync,
impl<R> Unpin for Decoder<R> where
R: Unpin,
R: Unpin,
impl<R> UnwindSafe for Decoder<R> where
R: UnwindSafe,
R: UnwindSafe,