Struct Cicp

Source
pub struct Cicp {
    pub primaries: CicpColorPrimaries,
    pub transfer: CicpTransferCharacteristics,
    pub matrix: CicpMatrixCoefficients,
    pub full_range: CicpVideoFullRangeFlag,
}
Expand description

Fields§

§primaries: CicpColorPrimaries

Defines the exact color of red, green, blue primary colors.

§transfer: CicpTransferCharacteristics

The electro-optical transfer function (EOTF) that maps color components to linear values.

§matrix: CicpMatrixCoefficients

A matrix between linear values and primary color representation.

For an RGB space this is the identity matrix.

§full_range: CicpVideoFullRangeFlag

Whether the color components use all bits of the encoded values, or have headroom.

For compute purposes, image only supports CicpVideoFullRangeFlag::FullRange and you get errors when trying to pass a non-full-range color profile to transform APIs such as DynamicImage::apply_color_space or CicpTransform::new.

Implementations§

Source§

impl Cicp

Source

pub const SRGB: Self

The sRGB color space, BT.709 transfer function and D65 whitepoint.

Source

pub const SRGB_LINEAR: Self

SRGB primaries and whitepoint with linear samples.

Source

pub const DISPLAY_P3: Self

The Display-P3 color space, a wide-gamut choice with SMPTE RP 432-2 primaries.

Note that this modern Display P3 uses a D65 whitepoint. Use the primaries SmpteRp431 for the previous standard. The advantage of the new standard is the color system shares its whitepoint with sRGB and BT.2020.

Trait Implementations§

Source§

impl Clone for Cicp

Source§

fn clone(&self) -> Cicp

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Cicp

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for Cicp

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Cicp

Source§

fn eq(&self, other: &Cicp) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Cicp

Source§

impl Eq for Cicp

Source§

impl StructuralPartialEq for Cicp

Auto Trait Implementations§

§

impl Freeze for Cicp

§

impl RefUnwindSafe for Cicp

§

impl Send for Cicp

§

impl Sync for Cicp

§

impl Unpin for Cicp

§

impl UnwindSafe for Cicp

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.