pub struct Cicp {
pub primaries: CicpColorPrimaries,
pub transfer: CicpTransferCharacteristics,
pub matrix: CicpMatrixCoefficients,
pub full_range: CicpVideoFullRangeFlag,
}Expand description
Reference: https://www.itu.int/rec/T-REC-H.273-202407-I/en (V4)
Fields§
§primaries: CicpColorPrimariesDefines the exact color of red, green, blue primary colors.
transfer: CicpTransferCharacteristicsThe electro-optical transfer function (EOTF) that maps color components to linear values.
matrix: CicpMatrixCoefficientsA matrix between linear values and primary color representation.
For an RGB space this is the identity matrix.
full_range: CicpVideoFullRangeFlagWhether 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
impl Cicp
Sourcepub const SRGB_LINEAR: Self
pub const SRGB_LINEAR: Self
SRGB primaries and whitepoint with linear samples.
Sourcepub const DISPLAY_P3: Self
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§
impl Copy for Cicp
impl Eq for Cicp
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> 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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