Struct LCh

Source
#[repr(C)]
pub struct LCh { pub l: f32, pub c: f32, pub h: f32, }
Expand description

Representing a color in cylindrical CIE LCh(uv) color space

Fields§

§l: f32

The L* value (achromatic luminance) of the colour in 0–100 range.

This is the same value as in the Luv object.

§c: f32

The C*_uv value (chroma) of the colour.

Together with h_uv, it defines chromaticity of the colour. The typical values of the coordinate go from zero up to around 150 (but exact range for ‘valid’ colours depends on luminance and hue). Zero represents shade of grey.

§h: f32

The h_uv value (hue) of the colour measured in radians.

Together with C*_uv, it defines chromaticity of the colour. The value represents an angle thus it wraps around τ. Typically, the value will be in the -π–π range. The value is undefined if C*_uv is zero.

Implementations§

Source§

impl LCh

Source

pub fn from_rgb(rgb: Rgb<u8>) -> Self

Source

pub fn from_rgba(rgba: Rgba<u8>) -> Self

Source

pub fn new(l: f32, c: f32, h: f32) -> Self

Source

pub fn from_luv(luv: Luv) -> Self

Source

pub fn to_rgb(&self) -> Rgb<u8>

Source

pub fn to_xyz(&self) -> Xyz

Source

pub fn to_linear_rgb(&self, matrix: &[[f32; 3]; 3]) -> Rgb<f32>

Source

pub fn to_luv(&self) -> Luv

Source§

impl LCh

Source

pub fn sqrt(&self) -> LCh

Source

pub fn cbrt(&self) -> LCh

Trait Implementations§

Source§

impl Add<f32> for LCh

Source§

type Output = LCh

The resulting type after applying the + operator.
Source§

fn add(self, rhs: f32) -> Self::Output

Performs the + operation. Read more
Source§

impl Add for LCh

Source§

type Output = LCh

The resulting type after applying the + operator.
Source§

fn add(self, rhs: LCh) -> LCh

Performs the + operation. Read more
Source§

impl AddAssign<f32> for LCh

Source§

fn add_assign(&mut self, rhs: f32)

Performs the += operation. Read more
Source§

impl AddAssign for LCh

Source§

fn add_assign(&mut self, rhs: LCh)

Performs the += operation. Read more
Source§

impl Clone for LCh

Source§

fn clone(&self) -> LCh

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 LCh

Source§

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

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

impl Default for LCh

Source§

fn default() -> LCh

Returns the “default value” for a type. Read more
Source§

impl Div<f32> for LCh

Source§

type Output = LCh

The resulting type after applying the / operator.
Source§

fn div(self, rhs: f32) -> Self::Output

Performs the / operation. Read more
Source§

impl Div for LCh

Source§

type Output = LCh

The resulting type after applying the / operator.
Source§

fn div(self, rhs: LCh) -> LCh

Performs the / operation. Read more
Source§

impl DivAssign<f32> for LCh

Source§

fn div_assign(&mut self, rhs: f32)

Performs the /= operation. Read more
Source§

impl DivAssign for LCh

Source§

fn div_assign(&mut self, rhs: LCh)

Performs the /= operation. Read more
Source§

impl EuclideanDistance for LCh

Source§

fn euclidean_distance(&self, other: LCh) -> f32

Source§

impl Mul<f32> for LCh

Source§

type Output = LCh

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: f32) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul for LCh

Source§

type Output = LCh

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: LCh) -> LCh

Performs the * operation. Read more
Source§

impl MulAssign<f32> for LCh

Source§

fn mul_assign(&mut self, rhs: f32)

Performs the *= operation. Read more
Source§

impl MulAssign for LCh

Source§

fn mul_assign(&mut self, rhs: LCh)

Performs the *= operation. Read more
Source§

impl Neg for LCh

Source§

type Output = LCh

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl PartialEq for LCh

Source§

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

Compares two colours ignoring chromaticity if L* is zero and hue if C* is zero. Hues which are τ apart are compared equal.

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 PartialOrd for LCh

Source§

fn partial_cmp(&self, other: &LCh) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Pow<LCh> for LCh

Source§

type Output = LCh

The result after applying the operator.
Source§

fn pow(self, rhs: LCh) -> Self::Output

Returns self to the power rhs. Read more
Source§

impl Pow<f32> for LCh

Source§

type Output = LCh

The result after applying the operator.
Source§

fn pow(self, rhs: f32) -> Self::Output

Returns self to the power rhs. Read more
Source§

impl Sub<f32> for LCh

Source§

type Output = LCh

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: f32) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub for LCh

Source§

type Output = LCh

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: LCh) -> LCh

Performs the - operation. Read more
Source§

impl SubAssign<f32> for LCh

Source§

fn sub_assign(&mut self, rhs: f32)

Performs the -= operation. Read more
Source§

impl SubAssign for LCh

Source§

fn sub_assign(&mut self, rhs: LCh)

Performs the -= operation. Read more
Source§

impl TaxicabDistance for LCh

Source§

fn taxicab_distance(&self, other: Self) -> f32

Source§

impl Copy for LCh

Auto Trait Implementations§

§

impl Freeze for LCh

§

impl RefUnwindSafe for LCh

§

impl Send for LCh

§

impl Sync for LCh

§

impl Unpin for LCh

§

impl UnwindSafe for LCh

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.