source: trip-planner-front/node_modules/@csstools/convert-colors/lib/rgb-hwb.js@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 880 bytes
Line 
1import { rgb2hue, rgb2whiteness, rgb2value } from './util';
2import { hsl2rgb } from './rgb-hsl';
3
4/* Convert between RGB and HWB
5/* ========================================================================== */
6
7export function rgb2hwb(rgbR, rgbG, rgbB, fallbackhue) {
8 const hwbH = rgb2hue(rgbR, rgbG, rgbB, fallbackhue);
9 const hwbW = rgb2whiteness(rgbR, rgbG, rgbB);
10 const hwbV = rgb2value(rgbR, rgbG, rgbB);
11 const hwbB = 100 - hwbV;
12
13 return [hwbH, hwbW, hwbB];
14}
15
16export function hwb2rgb(hwbH, hwbW, hwbB, fallbackhue) {
17 const [ rgbR, rgbG, rgbB ] = hsl2rgb(hwbH, 100, 50, fallbackhue).map(
18 v => v * (100 - hwbW - hwbB) / 100 + hwbW
19 );
20
21 return [ rgbR, rgbG, rgbB ];
22}
23
24/*
25
26References
27----------
28
29- https://www.w3.org/TR/css-color-4/#hwb-to-rgb
30- http://alvyray.com/Papers/CG/hwb2rgb.htm
31
32/* ========================================================================== */
Note: See TracBrowser for help on using the repository browser.