color

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2025 License: Apache-2.0 Imports: 9 Imported by: 2

Documentation

Index

Constants

View Source
const Brightest = uint8(0xFF) // 255

Brightest is the maximum value of an 8-bit color channel (255)

View Source
const LabFuncE float64 = 216.0 / 24389.0

LabFuncE is the threshold for linear vs. nonlinear transition. Reference

View Source
const LabFuncK float64 = 24389.0 / 27.0

LabFuncK s the constant used for linear approximation. Reference

Variables

View Source
var (
	// SrgbToXyz is the Matrix3 that is used for converting SRGB colors to XYZ
	SrgbToXyz = num.NewMatrix3(
		0.41233895, 0.35762064, 0.18051042,
		0.2126, 0.7152, 0.0722,
		0.01932141, 0.11916382, 0.95034478,
	)

	// XyzToSrgb is the Matrix3 that is used for converting XYZ colors to SRGB
	XyzToSrgb = num.NewMatrix3(
		3.2413774792388685, -1.5376652402851851, -0.49885366846268053,
		-0.9691452513005321, 1.8758853451067872, 0.04156585616912061,
		0.05562093689691305, -0.20395524564742123, 1.0571799111220335,
	)

	// WhitePointD65 is the white most point of XYZ to sRGB color space
	WhitePointD65 = num.NewVector3(95.047, 100.0, 108.883)

	// CriticalPlanes is used for converting Hct to ARGB
	CriticalPlanes = []float64{}/* 255 elements not displayed */

)
View Source
var Cat16InvMatrix = num.NewMatrix3(
	1.86206786, -1.01125463, 0.14918678,
	0.38752654, 0.62144744, -0.00897399,
	-0.0158415, -0.03412294, 1.04996444,
)

Cat16InvMatrix is the inverse of Cat16Matrix.

It converts CAM16 LMS cone responses back into linear RGB values, reversing the chromatic adaptation process. This matrix is used when converting from the CAM16/HCT perceptual space back to RGB.

View Source
var Cat16Matrix = num.NewMatrix3(
	0.401288, 0.650173, -0.051461,
	-0.250268, 1.204414, 0.045854,
	-0.002079, 0.048952, 0.953127,
)

Cat16Matrix is the forward CAT16 (Chromatic Adaptation Transform) matrix.

It converts linear RGB values into the CAM16 LMS (Long, Medium, Short) cone response domain. This step models how the human visual system adapts to different white points and viewing conditions.

The CAT16 matrix is part of the CAM16 color appearance model used by the HCT color system.

View Source
var DefaultEnviroment = NewEnvironment(
	(200/math.Pi)*YFromLstar(50)/100,
	50,
	2,
	false,
)

DefaultEnviroment returns the default sRGB-like viewing conditions.

View Source
var LinrgbFromScaledDiscount = num.NewMatrix3(
	1373.2198709594231, -1100.4251190754821, -7.278681089101213,
	-271.815969077903, 559.6580465940733, -32.46047482791194,
	1.9622899599665666, -57.173814538844006, 308.7233197812385,
)

LinrgbFromScaledDiscount is the inverse of ScaledDiscountFromLinRGB.

It converts values from the scaled discount space back into linear RGB, reconstructing displayable color values from the perceptual model (used when converting HCT → RGB).

View Source
var OkLabMatrix1 = num.NewMatrix3(
	0.8189330101, 0.3618667424, -0.1288597137,
	0.0329845436, 0.9293118715, 0.0361456387,
	0.0482003018, 0.2643662691, 0.6338517070,
)

OkLabMatrix1 defines the linear transformation from CIE XYZ to LMS cone responses used in the OkLab color model.

This corresponds to the matrix M1 in Ottosson’s paper:

[L, M, S]^T = M1 * [X, Y, Z]^T
View Source
var OkLabMatrix1Inv = num.NewMatrix3(
	1.2270138511, -0.5577999807, 0.2812561490,
	-0.0405801784, 1.1122568696, -0.0716766787,
	-0.0763812845, -0.4214819784, 1.5861632204,
)

OkLabMatrix1Inv is the inverse of M1, used to convert from LMS back to XYZ.

View Source
var OkLabMatrix2 = num.NewMatrix3(
	0.2104542553, 0.7936177850, -0.0040720468,
	1.9779984951, -2.4285922050, 0.4505937099,
	0.0259040371, 0.7827717662, -0.8086757660,
)

OkLabMatrix2 defines the transformation from nonlinearly transformed LMS (after cube-root compression) to OkLab coordinates (L, a, b).

This corresponds to matrix M2 in Ottosson’s formulation:

[L, a, b]^T = M2 * [L', M', S']^T
View Source
var OkLabMatrix2Inv = num.NewMatrix3(
	0.9999999985, 0.3963377922, 0.2158037581,
	1.0000000089, -0.1055613423, -0.0638541748,
	1.0000000547, -0.0894841821, -1.2914855379,
)

OkLabMatrix2Inv is the inverse of M2, used to convert from OkLab (L,a,b) back to cube-rooted LMS values.

View Source
var ScaledDiscountFromLinRGB = num.NewMatrix3(
	0.001200833568784504, 0.002389694492170889, 0.0002795742885861124,
	0.0005891086651375999, 0.0029785502573438758, 0.0003270666104008398,
	0.00010146692491640572, 0.0005364214359186694, 0.0032979401770712076,
)

ScaledDiscountFromLinRGB is a 3×3 transform matrix that converts from linear RGB to the "scaled discount" space used internally by the CAM16/HCT color appearance model.

This transformation accounts for human visual response under standard viewing conditions, mapping linear RGB signals into a perceptual domain where hue, chroma, and tone can be computed.

View Source
var YFromLinRGB = num.NewVector3(0.2126, 0.7152, 0.0722)

YFromLinRGB vector is used to get Y star of CieLab from linear RGB

Functions

func Delinearized

func Delinearized(component float64) uint8

Delinearized takes component (float64) that represents linear R/G/B channel. Component should be 0.0 < component < 1.0. Returns uint8 (0 <= n <= 255) representation of color component.

func Delinearized3

func Delinearized3(x, y, z float64) (uint8, uint8, uint8)

Delinearized3 is like Delinearized but takes 3 input and returns 3 output.

func IsBlue

func IsBlue(hue float64) bool

IsBlue checks if given hue falls in blue range (250-270°).

Params:

  • hue: Hue angle in degrees to check.

Returns bool - True if hue is in blue range.

func IsCyan

func IsCyan(hue float64) bool

IsCyan checks if given hue falls in cyan range (170-207°).

Params:

  • hue: Hue angle in degrees to check.

Returns bool - True if hue is in cyan range.

func IsYellow

func IsYellow(hue float64) bool

IsYellow checks if given hue falls in yellow range (105-125°).

Params:

  • hue: Hue angle in degrees to check.

Returns bool - True if hue is in yellow range.

func LabFunc

func LabFunc(t float64) float64

LabFunc is part of the conversion from XYZ to Lab color space. It applies a nonlinear transformation that approximates human vision perception.

func LabInvFunc

func LabInvFunc(ft float64) float64

LabInvFunc is the inverse of LabFunc, used when converting from Lab to XYZ. It reverses the nonlinear transformation.

func Linearized

func Linearized(component uint8) float64

Linearized takes component (uint8) that represents R/G/B channel. Returns 0.0 <= output <= 1.0, color channel converted to linear RGB space

func Linearized3

func Linearized3(x, y, z uint8) (float64, float64, float64)

Linearized3 is like Linearized but takes 3 input and returns 3 output.

func LstarFromY

func LstarFromY(y float64) float64

LstarFromY converts Y (relative luminance) in the XYZ color space to L* (perceptual luminance) in the CIELAB color space.

Both Y and L* represent luminance, but Y is linear and L* is perceptually uniform.

y is the Y value in the XYZ color space. It returns the corresponding L* value in the CIELAB color space.

func YFromLstar

func YFromLstar(lstar float64) float64

YFromLstar converts an L* (perceptual luminance) value from the CIELAB color space to Y (relative luminance) in the XYZ color space.

Both L* and Y represent luminance, but L* is perceptually uniform and Y is linear.

lstar is the L* value in the CIELAB color space. It returns the corresponding Y value in the XYZ color space.

Types

type ARGB

type ARGB uint32

ARGB represents a 32-bit color in ARGB format (Alpha, Red, Green, Blue) packed into a uint32. It implements the color.Color interface.

func ARGBFromHex

func ARGBFromHex(hex string) (ARGB, error)

ARGBFromHex parses a hex color string and returns an ARGB color. hex is the hexadecimal color string to parse. Returns the parsed ARGB color and error if the RGB hex is invalid.

Supports formats: #RGB, #RGBA, #RRGGBB, #RRGGBBAA.

func ARGBFromHexMust

func ARGBFromHexMust(hex string) ARGB

ARGBFromHexMust parses a hex color string and returns an ARGB color. Panics if the string cannot be parsed. Supports formats: #RGB, #RGBA, #RRGGBB, #RRGGBBAA. hex: The hexadecimal color string to parse Returns the parsed ARGB color.

func ARGBFromInterface

func ARGBFromInterface(c color.Color) ARGB

ARGBFromInterface converts any color.Color implementation to ARGB. It handles the 16-bit to 8-bit conversion automatically.

func ARGBFromLinRGB

func ARGBFromLinRGB(r, g, b float64) ARGB

ARGBFromLinRGB creates an opaque ARGB color from linear RGB components. r, g, b: Linear RGB components (0.0-1.0) Returns the corresponding opaque ARGB color after delinearization.

func ARGBFromLstar

func ARGBFromLstar(lstar float64) ARGB

ARGBFromLstar converts a CIE L* (lightness) value to an ARGB grayscale color. lstar: Lightness value in the L*a*b* color space (0-100) Returns an ARGB grayscale color matching the specified lightness.

func ARGBFromRGB

func ARGBFromRGB(r, g, b uint8) ARGB

ARGBFromRGB creates an opaque ARGB color (alpha=255) from 8-bit RGB components. r, g, b: Red, green, and blue components (0-255) Returns the corresponding opaque ARGB color.

func ARGBFromXYZ

func ARGBFromXYZ(x, y, z float64) ARGB

ARGBFromXYZ creates an ARGB color from XYZ color space coordinates. x, y, z: Coordinates in the CIE 1931 XYZ color space Returns the corresponding ARGB color.

func NewARGB

func NewARGB(a, r, g, b uint8) ARGB

NewARGB creates an ARGB color from individual 8-bit alpha, red, green, and blue components. The components are packed into a uint32 in ARGB order.

func (ARGB) Alpha

func (c ARGB) Alpha() uint8

Alpha returns the 8-bit alpha component of the color (0-255).

func (ARGB) AnsiBg

func (c ARGB) AnsiBg(text string) string

AnsiBg wraps the given text with ANSI escape codes for this background color. text: The string to be colored Returns the string wrapped with ANSI background color codes.

func (ARGB) AnsiFg

func (c ARGB) AnsiFg(text string) string

AnsiFg wraps the given text with ANSI escape codes for this foreground color. text: The string to be colored Returns the string wrapped with ANSI foreground color codes.

func (ARGB) Blue

func (c ARGB) Blue() uint8

Blue returns the 8-bit blue component of the color (0-255).

func (ARGB) Green

func (c ARGB) Green() uint8

Green returns the 8-bit green component of the color (0-255).

func (ARGB) HexARGB

func (c ARGB) HexARGB() string

HexARGB returns the hexadecimal representation of the color in #AARRGGBB format.

func (ARGB) HexRGB

func (c ARGB) HexRGB() string

HexRGB returns the hexadecimal representation of the color in #RRGGBB format.

func (ARGB) HexRGBA

func (c ARGB) HexRGBA() string

HexRGBA returns the hexadecimal representation of the color in #RRGGBBAA format.

func (ARGB) LStar

func (c ARGB) LStar() float64

LStar calculates the CIE L* (lightness) value of the color. Returns the L* value (0-100) representing the perceived lightness.

func (ARGB) MarshalText

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

MarshalText implements the encoding.TextMarshaler interface. Returns the hexadecimal representation of the color (#RRGGBBAA format).

func (ARGB) RGBA

func (c ARGB) RGBA() (red uint32, green uint32, blue uint32, alpha uint32)

RGBA implements the color.Color interface. Returns the red, green, blue, and alpha values in the 0-65535 range.

func (ARGB) Red

func (c ARGB) Red() uint8

Red returns the 8-bit red component of the color (0-255).

func (ARGB) String

func (c ARGB) String() string

String returns a string representation of the color hex code. Eg. #FF00FF

func (ARGB) ToARGB

func (c ARGB) ToARGB() ARGB

ToARGB returns the ARGB color itself (identity function). This method exists to satisfy the digitalColor interface.

func (ARGB) ToCam

func (c ARGB) ToCam() *Cam16

ToCam converts the ARGB color to CAM16 color appearance model. Returns a pointer to the Cam16 representation of the color.

func (ARGB) ToHct

func (c ARGB) ToHct() Hct

ToHct converts the ARGB color to HCT (Hue-Chroma-Tone) color space. Returns the HCT representation of the color.

func (ARGB) ToLab

func (c ARGB) ToLab() Lab

ToLab converts the ARGB color to CIE L*a*b* color space. Returns the Lab representation of the color.

func (ARGB) ToXYZ

func (c ARGB) ToXYZ() XYZ

ToXYZ converts the ARGB color to CIE XYZ color space. Returns the XYZ representation of the color.

func (*ARGB) UnmarshalText

func (c *ARGB) UnmarshalText(data []byte) error

UnmarshalText implements the encoding.UnmarshalText interface. Accepts #RRGGBB, #RRGGBBAA, RRGGBB, or RRGGBBAA formats for performance reasons. Returns an error if the string cannot be parsed as a valid color.

func (ARGB) Values

func (c ARGB) Values() (alpha uint8, red uint8, green uint8, blue uint8)

Values returns the individual 8-bit components of the ARGB color. Returns alpha, red, green, blue components in order (0-255).

type Cam16

type Cam16 struct {
	// Hue represents the hue of the color
	Hue float64
	// Chroma represents the colorfulness or color intensity, similar to
	// saturation in HSL but more perceptually accurate
	Chroma float64
	// J represents the lightness of the color
	J float64
	// Q represents the brightness, which is the ratio of lightness to
	// the white point's lightness
	Q float64
	// M represents the colorfulness of the color
	M float64
	// S represents the saturation, which is the ratio of chroma to
	// the white point's chroma
	S float64
	// Jstar represents the CAM16-UCS J coordinate
	Jstar float64
	// Astar represents the CAM16-UCS a coordinate
	Astar float64
	// Bstar represents the CAM16-UCS b coordinate
	Bstar float64
}

Cam16 represents the CAM16 color model, which includes various dimensions for color representation. It can be constructed using any combination of three of the following dimensions: j or q, c, m, or s, and hue. It can also be constructed using the CAM16-UCS J, a, and b coordinates.

func Cam16FromJch

func Cam16FromJch(j, c, h float64) *Cam16

Cam16FromJch constructs a Cam16 color from J (lightness), C (chroma), and H (hue angle in degrees), using DefaultViewingConditions viewing conditions.

This is used when synthesizing a CAM16 color from HCT values or performing color space conversions into perceptual models.

func Cam16FromJchInEnv

func Cam16FromJchInEnv(j, c, h float64, env *Environmnet) *Cam16

Cam16FromJchInEnv constructs a Cam16 color from J (lightness), C (chroma), and H (hue angle in degrees), using the given viewing conditions.

This is used when synthesizing a CAM16 color from HCT values or performing color space conversions into perceptual models.

func Cam16FromUcs

func Cam16FromUcs(jstar, astar, bstar float64) *Cam16

Cam16FromUcs creates a CAM16 color from UCS coordinates (jstar, astar, bstar). Uses the default viewing environment for conversion.

func Cam16FromUcsInEnv

func Cam16FromUcsInEnv(jstar, astar, bstar float64, env *Environmnet) *Cam16

Cam16FromUcsInEnv creates a CAM16 color from UCS coordinates (jstar, astar, bstar) using the specified viewing environment for conversion.

func Cam16FromXyzInEnv

func Cam16FromXyzInEnv(xyz XYZ, env *Environmnet) *Cam16

Cam16FromXyzInEnv create a Cam16 color In specific ViewingConditions

func NewCam16

func NewCam16(hue, chroma, j, q, m, s, jstar, astar, bstar float64) *Cam16

NewCam16 create a CAM16 color model from given values

func (Cam16) Distance

func (c Cam16) Distance(other Cam16) float64

Distance returns distance between to Cam16 color

func (*Cam16) RGBA

func (c *Cam16) RGBA() (red uint32, green uint32, blue uint32, alpha uint32)

RGBA implements the color.Color interface. Returns the red, green, blue, and alpha values in the 0-65535 range.

func (*Cam16) ToARGB

func (c *Cam16) ToARGB() ARGB

ToARGB converts the CAM16 color to ARGB format. Uses the default viewing environment for conversion.

func (*Cam16) ToHct

func (c *Cam16) ToHct() Hct

ToHct converts the CAM16 color to HCT (Hue, Chroma, Tone) color space.

func (*Cam16) ToLab

func (c *Cam16) ToLab() Lab

ToLab converts the CAM16 color to CIE L*a*b* color space. Uses the default viewing environment for conversion.

func (*Cam16) ToXYZ

func (c *Cam16) ToXYZ() XYZ

ToXYZ converts the CAM16 color to CIE XYZ color space. Uses the default viewing environment for conversion.

func (*Cam16) Viewed

func (c *Cam16) Viewed(vc *Environmnet) XYZ

Viewed converts a CAM16 color to an ARGB integer based on the given viewing conditions

type Environmnet

type Environmnet struct {
	// N is the relative luminance of the background relative to the reference
	// white.
	N float64
	// Aw is the achromatic response to the white point.
	Aw float64
	// Nbb is the brightness induction factor (background).
	Nbb float64
	// Ncb is the chromatic induction factor (background).
	Ncb float64
	// C is the surround exponential non-linearity factor.
	C float64
	// Nc is the chromatic induction factor (surround).
	Nc float64
	// RgbD is the degree of adaptation for each RGB channel after discounting
	// the illuminant.
	RgbD num.Vector3
	// Fl is the luminance-level adaptation factor (nonlinear response).
	Fl float64
	// FlRoot is the fourth root of Fl, used in CAM16 computations.
	FlRoot float64
	// Z is a base exponential factor used in the CAM16 J calculation.
	Z float64
}

Environmnet encapsulates all constants needed for CAM16 color conversions. These are intermediate values derived from the viewing environment and are used throughout the CAM16 model to compute perceptual color attributes.

func NewEnvironment

func NewEnvironment(
	adaptingLuminance float64,
	backgroundLstar float64,
	surround float64,
	discountingIlluminant bool,
) Environmnet

NewEnvironment creates a ViewingConditions instance with the specified parameters.

type Hct

type Hct struct {
	Hue    float64
	Chroma float64
	Tone   float64
}

Hct represents a color in the HCT (Hue, Chroma, Tone) color space.

HCT provides a perceptually accurate color measurement system that can accurately render colors in different lighting environments.

func NewHct

func NewHct(hue, chroma, tone float64) Hct

NewHct creates an HCT color from hue, chroma, and tone values.

Params:

  • hue: Hue angle in degrees (0-360, invalid values corrected).
  • chroma: Colorfulness (0-max varies by hue/tone).
  • tone: Lightness (0-100, invalid values corrected).

Returns Hct - The constructed HCT color.

func (Hct) Hash

func (h Hct) Hash() [3]int64

Hash generates a uint64 hash value for the HCT color. Returns uint64 - Efficient hash value for color comparison.

func (Hct) InViewingConditions

func (h Hct) InViewingConditions(env *Environmnet) Hct

InViewingConditions adjusts color appearance for different environments. Uses CAM16 color appearance model to account for viewing conditions.

Params:

  • env: *Environment containing viewing condition parameters.

Returns Hct - Color adjusted for specified viewing conditions.

func (Hct) IsBlue

func (h Hct) IsBlue() bool

IsBlue checks if the hue falls in the blue range (250-270°). Returns bool - True if hue is in blue range.

func (Hct) IsCyan

func (h Hct) IsCyan() bool

IsCyan checks if the hue falls in the cyan range (170-207°). Returns bool - True if hue is in cyan range.

func (Hct) IsYellow

func (h Hct) IsYellow() bool

IsYellow checks if the hue falls in the yellow range (105-125°). Returns bool - True if hue is in yellow range.

func (Hct) RGBA

func (h Hct) RGBA() (red uint32, green uint32, blue uint32, alpha uint32)

RGBA implements the color.Color interface. Returns the red, green, blue, and alpha values in the 0-65535 range.

func (Hct) String

func (h Hct) String() string

String returns a formatted string representation of HCT color. Returns string - Formatted as "HCT(H, C, T)" with ANSI background.

func (Hct) ToARGB

func (h Hct) ToARGB() ARGB

ToARGB converts HCT color to ARGB representation. Returns ARGB - 32-bit packed color value.

func (Hct) ToCam

func (h Hct) ToCam() *Cam16

ToCam converts HCT color to CAM16 color appearance model. Returns *Cam16 - Pointer to CAM16 color representation.

func (Hct) ToHct

func (h Hct) ToHct() Hct

ToHct returns the receiver (implements digitalColor interface). Returns Hct - The color itself.

func (Hct) ToLab

func (h Hct) ToLab() Lab

ToLab converts HCT color to CIE L*a*b* color space. Returns Lab - CIE L*a*b* color representation.

func (Hct) ToXYZ

func (h Hct) ToXYZ() XYZ

ToXYZ converts HCT color to CIE XYZ color space. Returns XYZ - CIE XYZ color representation.

type Lab

type Lab struct {
	L, A, B float64
}

Lab is the CIELAB color space, also referred to as L*a*b*, is a color space defined by the International Commission on Illumination (abbreviated CIE) in 1976. It expresses color as three values: L* for perceptual lightness and a* and b* for the four unique colors of human vision: red, green, blue and yellow. CIELAB was intended as a perceptually uniform space, where a given numerical change corresponds to a similar perceived change in color.

func NewLab

func NewLab(l, a, b float64) Lab

NewLab creates Lab (CIELAB) color model

func (Lab) DistanceSquared

func (c Lab) DistanceSquared(b Lab) float64

DistanceSquared returns square of distance between two color

func (Lab) LStar

func (c Lab) LStar() float64

LStar returns the L* value of L*a*b* (LabColor)

func (Lab) LuminanceY

func (c Lab) LuminanceY() float64

LuminanceY returns the Y value for XYZ color model from Lab color model

func (Lab) RGBA

func (c Lab) RGBA() (red uint32, green uint32, blue uint32, alpha uint32)

RGBA implemets color.Color interface

func (Lab) ToARGB

func (c Lab) ToARGB() ARGB

ToARGB returns Color (ARGB) from LabColor

func (Lab) ToCam

func (c Lab) ToCam() *Cam16

ToCam converts the Lab color to CAM16 color appearance model. Returns a pointer to the Cam16 representation of the color.

func (Lab) ToHct

func (c Lab) ToHct() Hct

ToHct converts the ARGB color to HCT (Hue-Chroma-Tone) color space. Returns the HCT representation of the color.

func (Lab) ToXYZ

func (c Lab) ToXYZ() XYZ

ToXYZ return XYZColor from LabColor

func (Lab) Values

func (c Lab) Values() (float64, float64, float64)

Values returns L, a, b values of LABColor color

type OkLab

type OkLab struct {
	// L for perceptual lightness, ranging from 0 (pure black) to 1 (reference
	// white), often denoted as a percentage
	L float64
	// A for green (negative) to red (positive)
	A float64
	// B for blue (negative) to yellow (positive)
	B float64
}

OkLab color space is a uniform color space for device-independent color designed to improve perceptual uniformity, hue and lightness prediction, color blending, and usability while ensuring numerical stability and ease of implementation. Introduced by Björn Ottosson in December 2020.

func NewOkLab

func NewOkLab(l, a, b float64) OkLab

NewOkLab create a OkLab model from l,a,b values

func OkLabFromXYZ

func OkLabFromXYZ(x, y, z float64) OkLab

OkLabFromXYZ create a OkLab model from x,y,z value of XYZ color space

func (OkLab) String added in v1.1.1

func (ok OkLab) String() string

String returns a formatted string representation of OkLab color.

func (OkLab) ToXYZ

func (ok OkLab) ToXYZ() XYZ

ToXYZ convert OkLab model to XYZ color model

func (OkLab) Values

func (ok OkLab) Values() (float64, float64, float64)

Values returns L, a, b values of OkLab Model

type XYZ

type XYZ struct {
	X, Y, Z float64
}

XYZ is color in XYZ color space

func NewXYZ

func NewXYZ(x, y, z float64) XYZ

NewXYZ creates a color in XYZ model.

func (XYZ) LStar

func (c XYZ) LStar() float64

LStar returns the L* value of L*a*b* (LabColor)

func (XYZ) Luminance

func (c XYZ) Luminance() float64

Luminance returns the Y value of XYZColor

func (XYZ) RGBA

func (c XYZ) RGBA() (red uint32, green uint32, blue uint32, alpha uint32)

RGBA implements the color.Color interface. Returns r, g, b, a values in the 0-65535 range.

func (XYZ) ToARGB

func (c XYZ) ToARGB() ARGB

ToARGB converts c in XZY to ARGB color model.

func (XYZ) ToCam

func (c XYZ) ToCam() *Cam16

ToCam converts XYZ to color appearance model (Cam16)

func (XYZ) ToHct

func (c XYZ) ToHct() Hct

ToHct convets XYZ to Hct (Hue, Chroma, Tone) model

func (XYZ) ToLab

func (c XYZ) ToLab() Lab

ToLab convets XYZ to CieLab color model

func (XYZ) ToOkLab added in v1.1.1

func (c XYZ) ToOkLab() OkLab

ToOkLab convets XYZ to OkLan color model

func (XYZ) Values

func (c XYZ) Values() (float64, float64, float64)

Values returns x, y, z values of XYZColor

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL