From 49cea85115353580da71c9533b1795ca63b14ad7 Mon Sep 17 00:00:00 2001 From: Gavin McDonald Date: Thu, 13 Sep 2018 21:04:28 -0400 Subject: [PATCH] add function to calculate grayscale of a color --- src/utils.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/utils.js b/src/utils.js index 8b71e7b..4c25b31 100644 --- a/src/utils.js +++ b/src/utils.js @@ -130,6 +130,19 @@ export function getColor ({red, green, blue, alpha}) { `rgb(${ red }, ${ green }, ${ blue })`; } +const GRAY_FACTOR = { + red: 0.299, + green: 0.587, + blue: 0.114, +}; + +// grayscale accounting for luminosity +export function grayscale ({red, green, blue}) { + return GRAY_FACTOR.red * red + + GRAY_FACTOR.green * green + + GRAY_FACTOR.blue * blue; +} + export function extend (obj, ...sources) { return Object.assign({}, obj, ...sources); }