You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8 lines
387 B

  1. export const idealColor = function (hexString) {
  2. // W3c offers a formula for calculating ideal color:
  3. // https://www.w3.org/TR/AERT/#color-contrast
  4. const r = parseInt(hexString.substr(1, 2), 16)
  5. const g = parseInt(hexString.substr(3, 2), 16)
  6. const b = parseInt(hexString.substr(5, 2), 16)
  7. return ((((r * 299) + (g * 587) + (b * 114)) / 1000) < 128) ? '#ffffff' : '#000000'
  8. }