Struct HdrMetadata
pub struct HdrMetadata { pub width: u32, pub height: u32, pub orientation: ((i8, i8), (i8, i8)), pub exposure: Option<f32>, pub color_correction: Option<(f32, f32, f32)>, pub pixel_aspect_ratio: Option<f32>, pub custom_attributes: Vec<(String, String)> }
Metadata for Radiance HDR image
Fields
width: u32Width of decoded image. It could be either scanline length, or scanline count, depending on image orientation.
height: u32Height of decoded image. It depends on orientation too.
orientation: ((i8, i8), (i8, i8))Orientation matrix. For standard orientation it is ((1,0),(0,1)) - left to right, top to bottom. First pair tells how resulting pixel coordinates change along a scanline. Second pair tells how they change from one scanline to the next.
exposure: Option<f32>Divide color values by exposure to get to get physical radiance in watts/steradian/m2
Image may not contain physical data, even if this field is set.
color_correction: Option<(f32, f32, f32)>Divide color values by corresponding tuple member (r, g, b) to get to get physical radiance in watts/steradian/m2
Image may not contain physical data, even if this field is set.
pixel_aspect_ratio: Option<f32>Pixel height divided by pixel width
custom_attributes: Vec<(String, String)>All lines contained in image header are put here. Ordering of lines is preserved. Lines in the form "key=value" are represented as ("key", "value"). All other lines are ("", "line")
Trait Implementations
impl Clone for HdrMetadata
fn clone(&self) -> HdrMetadata
impl Debug for HdrMetadata
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for HdrMetadata
impl RefUnwindSafe for HdrMetadata
impl Send for HdrMetadata
impl Sync for HdrMetadata
impl Unpin for HdrMetadata
impl UnsafeUnpin for HdrMetadata
impl UnwindSafe for HdrMetadata
Blanket Implementations
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for HdrMetadata
where
ST: ?Sized,
DT: ?Sized,
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for HdrMetadata
where
ST: ?Sized,
DT: ?Sized,
impl<T> Any for HdrMetadata
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for HdrMetadata
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for HdrMetadata
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for HdrMetadata
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for HdrMetadata
fn from(t: T) -> TReturns the argument unchanged.
impl<T> IntoEither for HdrMetadata
impl<T> Pointable for HdrMetadata
const ALIGN: usize = _;type Init = T;unsafe fn init(init: <T as Pointable>::Init) -> usizeunsafe fn deref<'a>(ptr: usize) -> &'a Tunsafe fn deref_mut<'a>(ptr: usize) -> &'a mut Tunsafe fn drop(ptr: usize)
impl<T> Read<Exclusive, BecauseExclusive> for HdrMetadata
where
T: ?Sized,
impl<T> ToOwned for HdrMetadata
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for HdrMetadata
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for HdrMetadata
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for HdrMetadata
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>