pub struct Hwb;
Expand description
🌌 The HWB color space
The HWB color space is a convenient way to represent colors. It corresponds closely to popular color pickers, both a triangle with white, black, and fully saturated color at the corner, and also a rectangle with a hue spectrum at the top and black at the bottom, with whiteness as a separate slider. It was proposed in HWB–A More Intuitive Hue-Based Color Model.
Its components are [H, W, B]
with
H
- the hue angle in degrees, with red at 0, green at 120, and blue at 240.W
- an amount of whiteness to mix in, with 100 being white.B
- an amount of blackness to mix in, with 100 being black.
The hue angle is the same as in Hsl, and thus has the same flaw of poor hue uniformity.
This corresponds to the color space in CSS Color Module Level 4 § 8.
Trait Implementations§
Source§impl ColorSpace for Hwb
impl ColorSpace for Hwb
Source§const TAG: Option<ColorSpaceTag>
const TAG: Option<ColorSpaceTag>
The tag corresponding to this color space, if a matching tag exists.
Source§const LAYOUT: ColorSpaceLayout = ColorSpaceLayout::HueFirst
const LAYOUT: ColorSpaceLayout = ColorSpaceLayout::HueFirst
The layout of the color space. Read more
Source§const WHITE_COMPONENTS: [f32; 3]
const WHITE_COMPONENTS: [f32; 3]
The component values for the color white within this color space.
Source§fn from_linear_srgb(src: [f32; 3]) -> [f32; 3]
fn from_linear_srgb(src: [f32; 3]) -> [f32; 3]
Convert an opaque color from linear sRGB. Read more
Source§fn to_linear_srgb(src: [f32; 3]) -> [f32; 3]
fn to_linear_srgb(src: [f32; 3]) -> [f32; 3]
Convert an opaque color to linear sRGB. Read more
Source§fn convert<TargetCS: ColorSpace>(src: [f32; 3]) -> [f32; 3]
fn convert<TargetCS: ColorSpace>(src: [f32; 3]) -> [f32; 3]
Convert to a different color space. Read more
Source§fn clip([h, w, b]: [f32; 3]) -> [f32; 3]
fn clip([h, w, b]: [f32; 3]) -> [f32; 3]
Clip the color’s components to fit within the natural gamut of the color space. Read more
Source§const WHITE_POINT: Chromaticity = Chromaticity::D65
const WHITE_POINT: Chromaticity = Chromaticity::D65
The white point of the color space. Read more
Source§fn to_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
fn to_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
Convert an opaque color to linear sRGB, without chromatic adaptation. Read more
Source§fn from_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
fn from_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
Convert an opaque color from linear sRGB, without chromatic adaptation. Read more
Source§fn convert_absolute<TargetCS: ColorSpace>(src: [f32; 3]) -> [f32; 3]
fn convert_absolute<TargetCS: ColorSpace>(src: [f32; 3]) -> [f32; 3]
Convert to a different color space, without chromatic adaptation. Read more
Source§fn chromatically_adapt(
src: [f32; 3],
from: Chromaticity,
to: Chromaticity,
) -> [f32; 3]
fn chromatically_adapt( src: [f32; 3], from: Chromaticity, to: Chromaticity, ) -> [f32; 3]
Chromatically adapt the color between the given white point chromaticities. Read more
Source§impl From<Hwb> for ColorSpaceTag
impl From<Hwb> for ColorSpaceTag
impl Copy for Hwb
Auto Trait Implementations§
impl Freeze for Hwb
impl RefUnwindSafe for Hwb
impl Send for Hwb
impl Sync for Hwb
impl Unpin for Hwb
impl UnwindSafe for Hwb
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