MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / hsla2rgba

Function hsla2rgba

libs/echarts/echarts-en.simple.js:3973–3995  ·  view source on GitHub ↗

* @param {Array. } hsla * @param {Array. } rgba * @return {Array. } rgba

(hsla, rgba)

Source from the content-addressed store, hash-verified

3971 * @return {Array.<number>} rgba
3972 */
3973function hsla2rgba(hsla, rgba) {
3974 var h = (((parseFloat(hsla[0]) % 360) + 360) % 360) / 360; // 0 .. 1
3975 // NOTE(deanm): According to the CSS spec s/l should only be
3976 // percentages, but we don't bother and let float or percentage.
3977 var s = parseCssFloat(hsla[1]);
3978 var l = parseCssFloat(hsla[2]);
3979 var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;
3980 var m1 = l * 2 - m2;
3981
3982 rgba = rgba || [];
3983 setRgba(rgba,
3984 clampCssByte(cssHueToRgb(m1, m2, h + 1 / 3) * 255),
3985 clampCssByte(cssHueToRgb(m1, m2, h) * 255),
3986 clampCssByte(cssHueToRgb(m1, m2, h - 1 / 3) * 255),
3987 1
3988 );
3989
3990 if (hsla.length === 4) {
3991 rgba[3] = hsla[3];
3992 }
3993
3994 return rgba;
3995}
3996
3997/**
3998 * @param {string} color

Callers 1

parseFunction · 0.70

Calls 4

parseCssFloatFunction · 0.70
setRgbaFunction · 0.70
clampCssByteFunction · 0.70
cssHueToRgbFunction · 0.70

Tested by

no test coverage detected