将十六进制表示的颜色值,转换成十进制,再用255减去十进制值,最后转成十六进制的值表示:
例如:最初是#FF0000 与它对立的颜色是#00FFFF
function changeRGB(RGBs) { var arr = RGBs.split(‘‘); // console.log(RGBs); var rgb1 = arr[1].concat(arr[2]); // console.log(rgb1); var rgb2 = arr[3].concat(arr[4]); //console.log(rgb2); var rgb3 = arr[5].concat(arr[6]); // console.log(rgb3); var arr1 = []; arr1[0] = parseInt(rgb1, 16); // console.log(arr1[0]); arr1[1] = parseInt(rgb2, 16); // console.log(arr1[1]); arr1[2] = parseInt(rgb3, 16); // console.log(arr1[2]); // var rgb10=arr1.join(","); var rgb16 = []; for (var i = 0; i < arr1.length; i++) { rgb16[i] = (255 - arr1[i]).toString(16, 2).toUpperCase(); if (rgb16[i].length < 2) { rgb16[i] = "0".concat(rgb16[i]); } } //console.log(rgb16[0]); // console.log(rgb16[1]); //console.log(rgb16[2]); var result = rgb16.join(‘‘); alert("#" + result); }
时间: 2025-01-02 00:57:38