JavaScript互补色

时间:2016-10-15 16:04:27

标签: javascript colors

我正在尝试使用JavaScript获得补色,但我找不到我需要的东西。我看了here,但是对于像#000000#142814这样的值,他们只是回归自己。对于第一个值,我觉得获得#FFFFFF是有意义的。有没有这样的功能?

1 个答案:

答案 0 :(得分:0)

您可以使用2 24 - 1的差异和颜色的值,对于较短的颜色,可以使用2 12 - 1的差异和颜色的值



function getComplementaryColor(color) {
    var c = color.slice(1),
        i = parseInt(c, 16),
        v = ((1 << 4 * c.length) - 1 - i).toString(16);

    while (v.length < c.length) {
        v = '0' + v;
    }
    return '#' + v;
}

console.log(getComplementaryColor('#142814'));
console.log(getComplementaryColor('#000000'));
console.log(getComplementaryColor('#111111'));
console.log(getComplementaryColor('#ffffff'));
console.log(getComplementaryColor('#39f'));
console.log(getComplementaryColor('#000'));
console.log(getComplementaryColor('#111'));
console.log(getComplementaryColor('#fff'));
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;
&#13;
&#13;