问题:
如何创建与给定颜色相反的颜色当前的颜色是明度还是暗度?如果当前颜色是黑色,我需要生成白色,反之亦然。
解决方案:
要实现此功能,我们可以利用涉及以下的算法:以下步骤:
按照以下步骤,我们可以创建一个名为 invertColor 的函数,它将当前的十六进制颜色作为输入并返回其相反的颜色:
function invertColor(hex) { // Convert HEX to RGB var r = parseInt(hex.slice(1, 3), 16); var g = parseInt(hex.slice(3, 5), 16); var b = parseInt(hex.slice(5, 7), 16); // Invert color components r = (255 - r).toString(16); g = (255 - g).toString(16); b = (255 - b).toString(16); // Pad each with zeros and return return "#" + 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); }
此函数考虑到需要反转颜色以创建相反的明暗色调。
示例:
如果我们传递颜色“#F0F0F0”(a明亮的颜色)作为 invertColor 函数的输入,它将返回“#202020”(深色)。
以上是如何根据浅色或深色生成给定颜色的相反颜色?的详细内容。更多信息请关注PHP中文网其他相关文章!