問題:
如何創建與給定顏色相反的顏色的顏色是明度還是暗度?如果目前顏色是黑色,我需要產生白色,反之亦然。
解決方案:
要實現此功能,我們可以利用涉及以下的演算法:以下步驟:
按照以下步驟,我們可以建立一個名為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中文網其他相關文章!