MCPcopy Create free account
hub / github.com/diffgram/diffgram / RGBAtoHSVA

Function RGBAtoHSVA

frontend/src/utils/colorUtils.js:153–186  ·  view source on GitHub ↗

* Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV * * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]

(rgba)

Source from the content-addressed store, hash-verified

151
152
153function RGBAtoHSVA(rgba) {
154 if (!rgba) return {
155 h: 0,
156 s: 1,
157 v: 1,
158 a: 1
159 };
160 var r = rgba.r / 255;
161 var g = rgba.g / 255;
162 var b = rgba.b / 255;
163 var max = Math.max(r, g, b);
164 var min = Math.min(r, g, b);
165 var h = 0;
166
167 if (max !== min) {
168 if (max === r) {
169 h = 60 * (0 + (g - b) / (max - min));
170 } else if (max === g) {
171 h = 60 * (2 + (b - r) / (max - min));
172 } else if (max === b) {
173 h = 60 * (4 + (r - g) / (max - min));
174 }
175 }
176
177 if (h < 0) h = h + 360;
178 var s = max === 0 ? 0 : (max - min) / max;
179 var hsv = [h, s, max];
180 return {
181 h: hsv[0],
182 s: hsv[1],
183 v: hsv[2],
184 a: rgba.a
185 };
186}
187
188function HSVAtoHSLA(hsva) {
189 var h = hsva.h,

Callers 1

HexToHSVAFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected