...

Package csscolorparser

import "github.com/mazznoer/csscolorparser"
Overview
Index
Examples

Overview ▾

Package csscolorparser provides function for parsing CSS color string as defined in the W3C's CSS color module level 4.

Example (NamedColor)

Code:

c, err := csscolorparser.Parse("gold")

if err != nil {
    panic(err)
}

fmt.Printf("R:%.3f, G:%.3f, B:%.3f, A:%.3f\n", c.R, c.G, c.B, c.A)
fmt.Println(c.RGBA255())
fmt.Println(c.HexString())
fmt.Println(c.RGBString())

Output:

R:1.000, G:0.843, B:0.000, A:1.000
255 215 0 255
#ffd700
rgb(255,215,0)

Example (RgbColor)

Code:

c, err := csscolorparser.Parse("rgba(100%, 0%, 0%, 0.5)")

if err != nil {
    panic(err)
}

fmt.Printf("R:%.3f, G:%.3f, B:%.3f, A:%.3f\n", c.R, c.G, c.B, c.A)
fmt.Println(c.RGBA255())
fmt.Println(c.HexString())
fmt.Println(c.RGBString())

Output:

R:1.000, G:0.000, B:0.000, A:0.500
255 0 0 128
#ff000080
rgba(255,0,0,0.5)

type Color

R, G, B, A values in the range 0..1

type Color struct {
    R, G, B, A float64
}

func Parse

func Parse(s string) (Color, error)

Parse parses CSS color string and returns, if successful, a Color.

func (Color) HexString

func (c Color) HexString() string

HexString returns CSS hexadecimal string.

func (Color) MarshalText

func (c Color) MarshalText() ([]byte, error)

Implement the Go TextMarshaler interface

func (Color) Name

func (c Color) Name() (string, bool)

Name returns name of this color if its available.

func (Color) RGBA

func (c Color) RGBA() (r, g, b, a uint32)

Implement the Go color.Color interface.

func (Color) RGBA255

func (c Color) RGBA255() (r, g, b, a uint8)

RGBA255 returns R, G, B, A values in the range 0..255

func (Color) RGBString

func (c Color) RGBString() string

RGBString returns CSS RGB string.

func (*Color) UnmarshalText

func (c *Color) UnmarshalText(text []byte) error

Implement the Go TextUnmarshaler interface