Skip to content

Instantly share code, notes, and snippets.

@w3core
Created December 8, 2016 08:52
Show Gist options
  • Save w3core/e3d9b5b6d69a3ba8671cc84714cca8a4 to your computer and use it in GitHub Desktop.
Save w3core/e3d9b5b6d69a3ba8671cc84714cca8a4 to your computer and use it in GitHub Desktop.

Revisions

  1. w3core created this gist Dec 8, 2016.
    17 changes: 17 additions & 0 deletions brightnessByColor.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    /**
    * 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;
    }