Added a snippets to convert RGB colour format into HSV and vice versa. (#1213)

Co-authored-by: Angelos Chalaris <chalarangelo@gmail.com>
This commit is contained in:
Soham Pal
2020-09-18 16:55:07 +05:30
committed by GitHub
parent 64c02a1bb9
commit a413143ea1
2 changed files with 51 additions and 0 deletions

24
snippets/HSBToRGB.md Normal file
View File

@ -0,0 +1,24 @@
---
title: HSBToRGB
tags: math,intermediate
---
Converts a HSB color tuple to RGB format.
- Use the [HSB to RGB conversion formula](https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB) to convert to the appropriate format.
- The range of the input parameters is H: [0, 360], S: [0, 100], B: [0, 100].
- The range of all output values is [0, 255].
```js
const HSBToRGB = (h, s, b) => {
s /= 100;
b /= 100;
const k = (n) => (n + h / 60) % 6;
const f = (n) => b * (1 - s * Math.max(0, Math.min(k(n), 4 - k(n), 1)));
return [255 * f(5), 255 * f(3), 255 * f(1)];
};
```
```js
HSBToRGB(18, 81, 99); // [252.45, 109.31084999999996, 47.965499999999984]
```