Skip to main content

Crate csscolorparser

Crate csscolorparser 

Source
Expand description

§Overview

Rust library for parsing CSS color string as defined in the W3C’s CSS Color Module Level 4.

§Supported Color Format

  • Named colors
  • RGB hexadecimal (with and without # prefix)
    • Short format #rgb
    • Short format with alpha #rgba
    • Long format #rrggbb
    • Long format with alpha #rrggbbaa
  • rgb() and rgba()
  • hsl() and hsla()
  • hwb()
  • lab()
  • lch()
  • oklab()
  • oklch()
  • hwba(), hsv(), hsva() - not in CSS standard.

§Examples

Using csscolorparser::parse() function.

let c = csscolorparser::parse("rgb(100%,0%,0%)")?;

assert_eq!(c.to_array(), [1.0, 0.0, 0.0, 1.0]);
assert_eq!(c.to_rgba8(), [255, 0, 0, 255]);
assert_eq!(c.to_css_hex(), "#ff0000");
assert_eq!(c.to_css_rgb(), "rgb(255 0 0)");

Using parse() method on &str.

use csscolorparser::Color;

let c: Color = "#ff00007f".parse()?;

assert_eq!(c.to_rgba8(), [255, 0, 0, 127]);
assert_eq!(c.to_css_hex(), "#ff00007f");

§Default Feature

  • std: Using the standard library.
  • named-colors: Enables parsing from named colors.

§Optional Features

  • rust-rgb: Enables converting from rgb crate types into Color.
  • cint: Enables converting cint crate types to and from Color.
  • serde: Enables serializing (into HEX string) and deserializing (from any supported string color format) using serde framework.

Structs§

Color
The color

Enums§

ParseColorError
An error which can be returned when parsing a CSS color string.

Statics§

NAMED_COLORS
Named colors defined in https://www.w3.org/TR/css-color-4/#named-colors.

Functions§

parse
Parse CSS color string