Color Model Parsing
Getting a color from a text-based color representation.
In addition to Terminaux supporting RGB color model, you can also use the CMYK and other color models when creating the color instances, provided that their specifiers that you must use are:
RGB's specifier is
rrr;ggg;bbb
,#RRGGBB
,#RGB
,0-16777215
,0-255
, or0-15
CMYK's specifier is
cmyk:ccc;mmm;yyy;kkk
CMY's specifier is
cmy:ccc;mmm;yyy
HSL's specifier is
hsl:hhh;sss;lll
HSV's specifier is
hsv:hhh;sss;vvv
RYB's specifier is
ryb:rrr;yyy;bbb
YIQ's specifier is
yiq:yyy;iii;qqq
YUV's specifier is
ryb:yyy;uuu;vvv
XYZ's specifier is
xyz:xxx;yyy;zzz
YXY's specifier is
yxy:yyy;xxx;yyy
HunterLab's specifier is
hunterlab:lll;aaa;bbb
CIE-L*ab's specifier is
cielab:lll;aaa;bbb
orcielab:lll;aaa;bbb;o;i
CIE-L*uv's specifier is
cieluv:lll;uuu;vvv
orcieluv:lll;uuu;vvv;o;i
CIE-L*ch's specifier is
cielch:lll;ccc;hhh
orcielch:lll;ccc;hhh;o;i
The hhh
notation in the CIE-L*ch specifier is an angle at degrees, not radians.
The o
and i
notations represent the observer (2 or 10 degrees) and the illuminant number starting from zero. These two notations will be used to get the 3D reference values (X
, Y
, and Z
) used for calculation. This is returned by the GetIlluminantReferences()
function in IlluminanceTools
.
To get a color instance from just the specifiers mentioned above, you first have to pick a source specifier. For example, if you want an RGB color instance from HSV's specifier, you must have a string that holds the HSV color specifier as mentioned above. Then, you can call the ParsingTools
's ParseSpecifier()
function, passing it that specifier, to get an RGB instance that you can convert to HSV using the available conversion tools that you can consult in the below page.
You have two options if you don't want to rely on exceptions:
For boolean-based checks, you can rely on the output of the
IsSpecifierValidRgbHash()
,IsSpecifierConsoleColors()
, andIsSpecifierValid()
onParsingTools
.If you want to also check the values, you can consult the
...AndValueValid()
sibling functions.
You can also use the color-model-specific IsSpecifierValid()
function, such as RedYellowBlue
.
Last updated