(p1: number, q1: number, t: number)
| 123 | const q = l < 0.5 ? l * (1 + s) : l + s - l * s |
| 124 | const p = 2 * l - q |
| 125 | const hue2rgb = (p1: number, q1: number, t: number): number => { |
| 126 | let tt = t |
| 127 | if (tt < 0) tt += 1 |
| 128 | if (tt > 1) tt -= 1 |
| 129 | if (tt < 1 / 6) return p1 + (q1 - p1) * 6 * tt |
| 130 | if (tt < 1 / 2) return q1 |
| 131 | if (tt < 2 / 3) return p1 + (q1 - p1) * (2 / 3 - tt) * 6 |
| 132 | return p1 |
| 133 | } |
| 134 | |
| 135 | return { |
| 136 | r: Math.round(hue2rgb(p, q, h + 1 / 3) * 255), |