pub struct HsvColor {
pub a: f64,
pub h: f64,
pub s: f64,
pub v: f64,
}Expand description
Defines a color using the hue/saturation/value (HSV) model. This uses a cylindrical-coordinate representation of a color.
Fields§
§a: f64The Alpha (transparency) component in the range from 0..1 (percentage). 0 is fully transparent, 1 is fully opaque.
h: f64The Hue component in the range from 0..360 (degrees). This is the color’s location, in degrees, on a color wheel/circle from 0 to 360. Note that 360 is equivalent to 0 and will be adjusted automatically.
s: f64The Saturation component in the range from 0..1 (percentage). 0 is a shade of gray (no color) and 1 is the full color.
v: f64The Value component in the range from 0..1 (percentage). 0 is fully black and 1 is the brightest.
Implementations§
Source§impl HsvColor
impl HsvColor
Sourcepub fn new(alpha: f64, hue: f64, saturation: f64, value: f64) -> Self
pub fn new(alpha: f64, hue: f64, saturation: f64, value: f64) -> Self
Initializes a new instance of the HsvColor struct. Components are
clamped to their ranges and a hue of 360 becomes 0.
Sourcepub fn new_with_clamp(
alpha: f64,
hue: f64,
saturation: f64,
value: f64,
clamp_values: bool,
) -> Self
pub fn new_with_clamp( alpha: f64, hue: f64, saturation: f64, value: f64, clamp_values: bool, ) -> Self
Initializes a new instance of the HsvColor struct.
This constructor exists only for internal use where performance is critical.
Whether or not the channel values are in the correct range must be known:
when clamp_values is false the components are stored as given.
Sourcepub fn from_color(color: Color) -> Self
pub fn from_color(color: Color) -> Self
Initializes a new instance of the HsvColor struct from an RGB color.
pub fn equals(&self, other: HsvColor) -> bool
Sourcepub fn to_string_format(
&self,
format: Option<&str>,
format_provider: Option<&CultureInfo>,
) -> Result<String, FormatError>
pub fn to_string_format( &self, format: Option<&str>, format_provider: Option<&CultureInfo>, ) -> Result<String, FormatError>
Returns the string representation of the color using a format specifier.
Supported format specifiers:
V/v:hsva(h, s%, v%, a)/hsv(h, s%, v%)V%/v%:hsva(h%, s%, v%, a%)/hsv(h%, s%, v%)X,x,H,R,r,R%,r%: converted to RGB and formatted as suchL,l,L%,l%: converted to HSL and formatted as such
A null or empty format is the same as to_string(). Any other format is an
error. format_provider is ignored: color formatting is culture-invariant.
Sourcepub fn parse(s: &str) -> Result<HsvColor, FormatError>
pub fn parse(s: &str) -> Result<HsvColor, FormatError>
Parses an HSV color string (hsv(h, s, v) or hsva(h, s, v, a)).
Sourcepub fn try_parse(s: &str) -> Option<HsvColor>
pub fn try_parse(s: &str) -> Option<HsvColor>
Parses an HSV color string (hsv(h, s, v) or hsva(h, s, v, a)),
returning None when it is not valid. Saturation, value and alpha may be
given as fractions or percentages.
Sourcepub fn from_ahsv(a: f64, h: f64, s: f64, v: f64) -> HsvColor
pub fn from_ahsv(a: f64, h: f64, s: f64, v: f64) -> HsvColor
Creates an HsvColor from alpha, hue, saturation and value (clamped).
Sourcepub fn from_hsv(h: f64, s: f64, v: f64) -> HsvColor
pub fn from_hsv(h: f64, s: f64, v: f64) -> HsvColor
Creates an opaque HsvColor from hue, saturation and value (clamped).
Trait Implementations§
impl Copy for HsvColor
Source§impl From<HsvColor> for Color
Converts the HSV color to RGB (an explicit conversion in the reference API).
impl From<HsvColor> for Color
Converts the HSV color to RGB (an explicit conversion in the reference API).
Source§impl MarkupTyped for HsvColor
impl MarkupTyped for HsvColor
Source§const MARKUP: &'static MarkupType
const MARKUP: &'static MarkupType
impl StructuralPartialEq for HsvColor
Auto Trait Implementations§
impl Freeze for HsvColor
impl RefUnwindSafe for HsvColor
impl Send for HsvColor
impl Sync for HsvColor
impl Unpin for HsvColor
impl UnsafeUnpin for HsvColor
impl UnwindSafe for HsvColor
Blanket Implementations§
Source§impl<T> AnyValue for Twhere
T: PartialEq + 'static,
impl<T> AnyValue for Twhere
T: PartialEq + 'static,
fn any_value_as_any(&self) -> &(dyn Any + 'static)
fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool
fn any_value_type_name(&self) -> &'static str
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
Source§impl<T> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more