bgrins / TinyColor

Fast, small color manipulation and conversion for JavaScript
https://bgrins.github.io/TinyColor/
MIT License
5.05k stars 439 forks source link

In built way to automatically Darken or Lighten by amount depending on the color luminance #230

Open SrBrahma opened 2 years ago

SrBrahma commented 2 years ago

I want to change automatically choose the background color of a button when pressed. It shall darken the color if it is light, and lighten it if it's dark, and I think tinyColor could have this function.

It could just check the luminance/brightness of the color (like the L component of HSL) , and depending on it, darken() or lighten() by an amount.

It could be like

darkenLighten(color: Color, amount: number = x, threshold: number = y)

Amount is how much it should change the L, threshold is how much L, from 0 to 100, it should choose to use darken or lighten.

Throwing out numbers without any test, x could be like 10, threshold maybe 50.