青岛新公司网站建设推广,山东泰安是几线城市,北京手机网站搭建费用,运城网址更新#xff1a;GitHub上的生产就绪代码.我就是这样做的#xff1a;将HEX转换为RGB反转R,G和B组件将每个组件转换回HEX用零和输出填充每个组件.function invertColor(hex) {if (hex.indexOf(#) 0) {hex hex.slice(1);}// convert 3-digit hex to 6-digits.…更新GitHub上的生产就绪代码.我就是这样做的将HEX转换为RGB反转R,G和B组件将每个组件转换回HEX用零和输出填充每个组件.function invertColor(hex) {if (hex.indexOf(#) 0) {hex hex.slice(1);}// convert 3-digit hex to 6-digits.if (hex.length 3) {hex hex[0] hex[0] hex[1] hex[1] hex[2] hex[2];}if (hex.length ! 6) {throw new Error(Invalid HEX color.);}// invert color componentsvar r (255 - parseInt(hex.slice(0, 2), 16)).toString(16),g (255 - parseInt(hex.slice(2, 4), 16)).toString(16),b (255 - parseInt(hex.slice(4, 6), 16)).toString(16);// pad each with zeros and returnreturn # padZero(r) padZero(g) padZero(b);}function padZero(str, len) {len len || 2;var zeros new Array(len).join(0);return (zeros str).slice(-len);}示例输出高级版这有一个bw选项,决定是否反转为黑色或白色;所以你会得到更多的对比度,这对人眼来说通常更好.function invertColor(hex, bw) {if (hex.indexOf(#) 0) {hex hex.slice(1);}// convert 3-digit hex to 6-digits.if (hex.length 3) {hex hex[0] hex[0] hex[1] hex[1] hex[2] hex[2];}if (hex.length ! 6) {throw new Error(Invalid HEX color.);}var r parseInt(hex.slice(0, 2), 16),g parseInt(hex.slice(2, 4), 16),b parseInt(hex.slice(4, 6), 16);if (bw) {// http://stackoverflow.com/a/3943023/112731return (r * 0.299 g * 0.587 b * 0.114) 186? #000000: #FFFFFF;}// invert color componentsr (255 - r).toString(16);g (255 - g).toString(16);b (255 - b).toString(16);// pad each with zeros and returnreturn # padZero(r) padZero(g) padZero(b);}示例输出