Struct png::Decoder [−][src]
pub struct Decoder<R: Read> { /* fields omitted */ }
PNG Decoder
Implementations
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,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,