Skip to content

Instantly share code, notes, and snippets.

@ConnectedReasoning
Forked from rafael25/brightnessByColor.js
Created August 6, 2018 18:36
Show Gist options
  • Save ConnectedReasoning/7ce00743cd69df72e51e4d313b0701a7 to your computer and use it in GitHub Desktop.
Save ConnectedReasoning/7ce00743cd69df72e51e4d313b0701a7 to your computer and use it in GitHub Desktop.
Calculate brightness value by RGB or HEX color
/**
* Calculate brightness value by RGB or HEX color.
* @param color (String) The color value in RGB or HEX (for example: #000000 || #000 || rgb(0,0,0) || rgba(0,0,0,0))
* @returns (Number) The brightness value (dark) 0 ... 255 (light)
*/
function brightnessByColor (color) {
var color = "" + color, isHEX = color.indexOf("#") == 0, isRGB = color.indexOf("rgb") == 0;
if (isHEX) {
var m = color.substr(1).match(color.length == 7 ? /(\S{2})/g : /(\S{1})/g);
if (m) var r = parseInt(m[0], 16), g = parseInt(m[1], 16), b = parseInt(m[2], 16);
}
if (isRGB) {
var m = color.match(/(\d+){3}/g);
if (m) var r = m[0], g = m[1], b = m[2];
}
if (typeof r != "undefined") return ((r*299)+(g*587)+(b*114))/1000;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment