pub struct Rgb {
pub r: u8,
pub g: u8,
pub b: u8,
}Expand description
A 24-bit sRGB colour.
Fields§
§r: u8Red channel.
g: u8Green channel.
b: u8Blue channel.
Implementations§
Source§impl Rgb
impl Rgb
Sourcepub fn mix(self, other: Self, t: f32) -> Self
pub fn mix(self, other: Self, t: f32) -> Self
Blends towards other: t = 0 gives self, t = 1 gives other.
t is clamped to 0..=1.
Sourcepub fn relative_luminance(self) -> f64
pub fn relative_luminance(self) -> f64
WCAG relative luminance, from 0 (black) to 1 (white).
Sourcepub fn contrast_ratio(self, other: Self) -> f64
pub fn contrast_ratio(self, other: Self) -> f64
WCAG contrast ratio between two colours, from 1 to 21.
Sourcepub fn perceptual_distance(self, other: Self) -> f64
pub fn perceptual_distance(self, other: Self) -> f64
Euclidean distance in OKLab. Around 0.02 is barely visible; 0.10 reads as a clearly different colour.
Sourcepub fn to_ansi256(self) -> u8
pub fn to_ansi256(self) -> u8
Nearest entry of the xterm 256-colour palette (indices 16..=255).
Trait Implementations§
impl Copy for Rgb
impl Eq for Rgb
impl StructuralPartialEq for Rgb
Auto Trait Implementations§
impl Freeze for Rgb
impl RefUnwindSafe for Rgb
impl Send for Rgb
impl Sync for Rgb
impl Unpin for Rgb
impl UnsafeUnpin for Rgb
impl UnwindSafe for Rgb
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> ⓘ
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 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> ⓘ
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 moreSource§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more