首页 > 解决方案 > 试图从十六进制值中获得较浅的颜色

问题描述

我的十六进制值是这样存储的:

var details = (swatches.DarkVibrant.getHex());

我想获得另一个变量来存储该颜色的较浅版本,但我不知道如何在我找到的选项中实现它,例如我找到了这个:

function ColorLuminance(hex, lum) {
  // validate hex string
  hex = String(hex).replace(/[^0-9a-f]/gi, '');
  if (hex.length < 6) {
    hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
  }
  lum = lum || 0;
  // convert to decimal and change luminosity
  var rgb = "#",
    c, i;
  for (i = 0; i < 3; i++) {
    c = parseInt(hex.substr(i * 2, 2), 16);
    c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);
    rgb += ("00" + c).substr(c.length);
  }
  return rgb;
}

如何将我的详细信息 var 传递给函数以获得更浅的颜色版本?

标签: javascript

解决方案


推荐阅读