Sha256: 9c9b23a6e6834b401008b1a87136766573a8bad4f590cab5fe9aba81c29019f1
Contents?: true
Size: 880 Bytes
Versions: 26
Compression:
Stored size: 880 Bytes
Contents
import { rgb2hue, rgb2whiteness, rgb2value } from './util'; import { hsl2rgb } from './rgb-hsl'; /* Convert between RGB and HWB /* ========================================================================== */ export function rgb2hwb(rgbR, rgbG, rgbB, fallbackhue) { const hwbH = rgb2hue(rgbR, rgbG, rgbB, fallbackhue); const hwbW = rgb2whiteness(rgbR, rgbG, rgbB); const hwbV = rgb2value(rgbR, rgbG, rgbB); const hwbB = 100 - hwbV; return [hwbH, hwbW, hwbB]; } export function hwb2rgb(hwbH, hwbW, hwbB, fallbackhue) { const [ rgbR, rgbG, rgbB ] = hsl2rgb(hwbH, 100, 50, fallbackhue).map( v => v * (100 - hwbW - hwbB) / 100 + hwbW ); return [ rgbR, rgbG, rgbB ]; } /* References ---------- - https://www.w3.org/TR/css-color-4/#hwb-to-rgb - http://alvyray.com/Papers/CG/hwb2rgb.htm /* ========================================================================== */
Version data entries
26 entries across 25 versions & 8 rubygems