pub struct HdrDecoder<R> {
r: R,
width: u32,
height: u32,
meta: HdrMetadata,
}
Expand description
An Radiance HDR decoder
Fields§
§r: R
§width: u32
§height: u32
§meta: HdrMetadata
Implementations§
Source§impl<R: Read> HdrDecoder<R>
impl<R: Read> HdrDecoder<R>
Sourcepub fn new(reader: R) -> ImageResult<Self>
pub fn new(reader: R) -> ImageResult<Self>
Reads Radiance HDR image header from stream r
if the header is valid, creates HdrDecoder
strict mode is enabled
Sourcepub fn new_nonstrict(reader: R) -> ImageResult<Self>
pub fn new_nonstrict(reader: R) -> ImageResult<Self>
Allows reading old Radiance HDR images
Sourcepub fn with_strictness(reader: R, strict: bool) -> ImageResult<HdrDecoder<R>>
pub fn with_strictness(reader: R, strict: bool) -> ImageResult<HdrDecoder<R>>
Reads Radiance HDR image header from stream reader
,
if the header is valid, creates HdrDecoder
.
strict enables strict mode
Warning! Reading wrong file in non-strict mode could consume file size worth of memory in the process.
Sourcepub fn metadata(&self) -> HdrMetadata
pub fn metadata(&self) -> HdrMetadata
Returns file metadata. Refer to HdrMetadata
for details.
Sourcefn read_image_transform<T: Send, F: Send + Sync + Fn(Rgbe8Pixel) -> T>(
self,
f: F,
output_slice: &mut [T],
) -> ImageResult<()>
fn read_image_transform<T: Send, F: Send + Sync + Fn(Rgbe8Pixel) -> T>( self, f: F, output_slice: &mut [T], ) -> ImageResult<()>
Consumes decoder and returns a vector of transformed pixels
Trait Implementations§
Source§impl<R: Debug> Debug for HdrDecoder<R>
impl<R: Debug> Debug for HdrDecoder<R>
Source§impl<R: Read> ImageDecoder for HdrDecoder<R>
impl<R: Read> ImageDecoder for HdrDecoder<R>
Source§fn dimensions(&self) -> (u32, u32)
fn dimensions(&self) -> (u32, u32)
Returns a tuple containing the width and height of the image
Source§fn color_type(&self) -> ColorType
fn color_type(&self) -> ColorType
Returns the color type of the image data produced by this decoder
Source§fn read_image(self, buf: &mut [u8]) -> ImageResult<()>
fn read_image(self, buf: &mut [u8]) -> ImageResult<()>
Returns all the bytes in the image. Read more
Source§fn read_image_boxed(self: Box<Self>, buf: &mut [u8]) -> ImageResult<()>
fn read_image_boxed(self: Box<Self>, buf: &mut [u8]) -> ImageResult<()>
Use
read_image
instead; this method is an implementation detail needed so the trait can
be object safe. Read moreSource§fn original_color_type(&self) -> ExtendedColorType
fn original_color_type(&self) -> ExtendedColorType
Returns the color type of the image file before decoding
Source§fn icc_profile(&mut self) -> ImageResult<Option<Vec<u8>>>
fn icc_profile(&mut self) -> ImageResult<Option<Vec<u8>>>
Returns the ICC color profile embedded in the image, or
Ok(None)
if the image does not have one. Read moreSource§fn exif_metadata(&mut self) -> ImageResult<Option<Vec<u8>>>
fn exif_metadata(&mut self) -> ImageResult<Option<Vec<u8>>>
Returns the raw Exif chunk, if it is present.
A third-party crate such as
kamadak-exif
is required to actually parse it. Read moreSource§fn orientation(&mut self) -> ImageResult<Orientation>
fn orientation(&mut self) -> ImageResult<Orientation>
Returns the orientation of the image. Read more
Source§fn total_bytes(&self) -> u64
fn total_bytes(&self) -> u64
Returns the total number of bytes in the decoded image. Read more
Source§fn set_limits(&mut self, limits: Limits) -> ImageResult<()>
fn set_limits(&mut self, limits: Limits) -> ImageResult<()>
Auto Trait Implementations§
impl<R> Freeze for HdrDecoder<R>where
R: Freeze,
impl<R> RefUnwindSafe for HdrDecoder<R>where
R: RefUnwindSafe,
impl<R> Send for HdrDecoder<R>where
R: Send,
impl<R> Sync for HdrDecoder<R>where
R: Sync,
impl<R> Unpin for HdrDecoder<R>where
R: Unpin,
impl<R> UnwindSafe for HdrDecoder<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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more