Skip to main content

ColorContext

Struct ColorContext 

Source
pub struct ColorContext {
    pub icc: Option<Arc<[u8]>>,
    pub cicp: Option<Cicp>,
}
Expand description

Color space metadata for pixel data.

Bundles ICC profile bytes and/or CICP parameters into a single shareable context. Carried via Arc on pixel slices and pipeline sources so color metadata travels with pixel data without per-strip cloning overhead.

Fields§

§icc: Option<Arc<[u8]>>

Raw ICC profile bytes.

§cicp: Option<Cicp>

CICP parameters (ITU-T H.273).

Implementations§

Source§

impl ColorContext

Source

pub fn from_icc(icc: impl Into<Arc<[u8]>>) -> Self

Create from an ICC profile.

Source

pub fn from_cicp(cicp: Cicp) -> Self

Create from CICP parameters.

Source

pub fn from_icc_and_cicp(icc: impl Into<Arc<[u8]>>, cicp: Cicp) -> Self

Create from both ICC and CICP.

Source

pub fn as_profile_source(&self) -> Option<ColorProfileSource<'_>>

Get a ColorProfileSource reference for CMS integration.

Returns CICP if present (takes precedence per AVIF/HEIF specs), otherwise returns the ICC profile bytes.

Source

pub fn transfer_function(&self) -> TransferFunction

Derive transfer function from CICP (or Unknown if no CICP).

Source

pub fn is_srgb(&self) -> bool

True if this describes sRGB (either via CICP or trivially).

Trait Implementations§

Source§

impl Clone for ColorContext

Source§

fn clone(&self) -> ColorContext

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 ColorContext

Source§

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

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

impl PartialEq for ColorContext

Source§

fn eq(&self, other: &ColorContext) -> 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 Eq for ColorContext

Source§

impl StructuralPartialEq for ColorContext

Auto Trait Implementations§

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.