1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.hsv2rgb = void 0;
|
4 | var consts_1 = require("./consts");
|
5 |
|
6 | function hsv2rgb(h, s, v) {
|
7 | s = s / 100;
|
8 | v = v / 100;
|
9 | var rgb = [];
|
10 | var c = v * s;
|
11 | var hh = h / 60;
|
12 | var x = c * (1 - Math.abs((hh % 2) - 1));
|
13 | var m = v - c;
|
14 | switch (Math.floor(hh)) {
|
15 | case 0:
|
16 | rgb = [c, x, 0];
|
17 | break;
|
18 | case 1:
|
19 | rgb = [x, c, 0];
|
20 | break;
|
21 | case 2:
|
22 | rgb = [0, c, x];
|
23 | break;
|
24 | case 3:
|
25 | rgb = [0, x, c];
|
26 | break;
|
27 | case 4:
|
28 | rgb = [x, 0, c];
|
29 | break;
|
30 | case 5:
|
31 | rgb = [c, 0, x];
|
32 | break;
|
33 | }
|
34 | return {
|
35 | r: Math.round(consts_1.MAX_COLOR_RGB * (rgb[0] + m)),
|
36 | g: Math.round(consts_1.MAX_COLOR_RGB * (rgb[1] + m)),
|
37 | b: Math.round(consts_1.MAX_COLOR_RGB * (rgb[2] + m)),
|
38 | };
|
39 | }
|
40 | exports.hsv2rgb = hsv2rgb;
|
41 |
|
\ | No newline at end of file |