Skip to content

Instantly share code, notes, and snippets.

@jamespjarvis
Last active December 13, 2017 16:11
Show Gist options
  • Save jamespjarvis/5c546fb628226d1e815d0645bd363217 to your computer and use it in GitHub Desktop.
Save jamespjarvis/5c546fb628226d1e815d0645bd363217 to your computer and use it in GitHub Desktop.
LightenDarkenColor
const LightenDarkernColor = (color, amount) => {
const usePound = color[0] === '#';
const col = usePound ? color.slice(1) : color;
const num = parseInt(col, 16);
let r = (num >> 16) + amount;
if (r > 255) r = 255;
else if (r < 0) r = 0;
let b = ((num >> 8) & 0x00FF) + amount;
if (b > 255) b = 255;
else if (b < 0) b = 0;
let g = (num & 0x0000FF) + amount;
if (g > 255) g = 255;
else if (g < 0) g = 0;
return `${usePound ? '#' : ''}${(g | (b << 8) | (r << 16)).toString(16)}`;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment