Struct Hsl

Source
pub struct Hsl;
Expand description

๐ŸŒŒ The HSL color space

The HSL color space is fairly widely used and convenient, but it is not based on sound color science. Among its flaws, colors with the same โ€œlightnessโ€ value can have wildly varying perceptual lightness.

Its components are [H, S, L] with

  • H - the hue angle in degrees, with red at 0, green at 120, and blue at 240.
  • S - the saturation, where 0 is gray and 100 is maximally saturated.
  • L - the lightness, where 0 is black and 100 is white.

This corresponds to the color space in CSS Color Module Level 4 ยง 7.

Trait Implementationsยง

Sourceยง

impl Clone for Hsl

Sourceยง

fn clone(&self) -> Hsl

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 ColorSpace for Hsl

Sourceยง

const TAG: Option<ColorSpaceTag>

The tag corresponding to this color space, if a matching tag exists.
Sourceยง

const LAYOUT: ColorSpaceLayout = ColorSpaceLayout::HueFirst

The layout of the color space. Read more
Sourceยง

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]

Convert an opaque color from linear sRGB. Read more
Sourceยง

fn to_linear_srgb(src: [f32; 3]) -> [f32; 3]

Convert an opaque color to linear sRGB. Read more
Sourceยง

fn scale_chroma([h, s, l]: [f32; 3], scale: f32) -> [f32; 3]

Scale the chroma by the given amount. Read more
Sourceยง

fn convert<TargetCS: ColorSpace>(src: [f32; 3]) -> [f32; 3]

Convert to a different color space. Read more
Sourceยง

fn clip([h, s, l]: [f32; 3]) -> [f32; 3]

Clip the colorโ€™s components to fit within the natural gamut of the color space. Read more
Sourceยง

const IS_LINEAR: bool = false

Whether the color space is linear. Read more
Sourceยง

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]

Convert an opaque color to linear sRGB, without chromatic adaptation. Read more
Sourceยง

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]

Convert to a different color space, without chromatic adaptation. Read more
Sourceยง

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 Debug for Hsl

Sourceยง

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

Formats the value using the given formatter. Read more
Sourceยง

impl From<Hsl> for ColorSpaceTag

Sourceยง

fn from(_: Hsl) -> Self

Converts to this type from the input type.
Sourceยง

impl Copy for Hsl

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.