ziggs/vendor/github.com/mazznoer/csscolorparser
2022-08-29 23:04:48 -07:00
..
.gitignore Add CPU load based light changes 2022-08-29 23:04:48 -07:00
.travis.yml Add CPU load based light changes 2022-08-29 23:04:48 -07:00
colorparser.go Add CPU load based light changes 2022-08-29 23:04:48 -07:00
LICENSE Add CPU load based light changes 2022-08-29 23:04:48 -07:00
named_colors.go Add CPU load based light changes 2022-08-29 23:04:48 -07:00
README.md Add CPU load based light changes 2022-08-29 23:04:48 -07:00

Golang CSS Color Parser Library

PkgGoDev Build Status Build Status go report codecov Lines of Code

Go 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()
  • hwba(), hsv(), hsva() - not in CSS standard.

Not yet supported: lab(), lch().

Example Color Format

transparent
lime
#0f0
#0f0f
#00ff00
#00ff00ff
rgb(0,255,0)
rgb(0% 100% 0%)
rgb(0 255 0 / 100%)
rgba(0,255,0,1)
hsl(120,100%,50%)
hsl(120deg 100% 50%)
hsl(-240 100% 50%)
hsl(-240deg 100% 50%)
hsl(0.3333turn 100% 50%)
hsl(133.333grad 100% 50%)
hsl(2.0944rad 100% 50%)
hsla(120,100%,50%,100%)
hwb(120 0% 0%)
hwb(480deg 0% 0% / 100%)
hsv(120,100%,100%)
hsv(120deg 100% 100% / 100%)

Usage Examples

import "github.com/mazznoer/csscolorparser"
c, err := csscolorparser.Parse("gold")

if err != nil {
	panic(err)
}

fmt.Printf("R:%.3f, G:%.3f, B:%.3f, A:%.3f", c.R, c.G, c.B, c.A) // R:1.000, G:0.843, B:0.000, A:1.000
fmt.Println(c.RGBA255())   // 255 215 0 255
fmt.Println(c.HexString()) // #ffd700
fmt.Println(c.RGBString()) // rgb(255,215,0)

Try It Online

Similar Projects