2015-08-19 25 views
-3

我正在尋找一個十六進制代碼格式的顏色列表或白色的白色陰影的十六進制代碼的某些模式。如何自動確定與白色相似的顏色?

我一直在使用Wikipedia Shades of White列表,但我不認爲它是完整的,理想情況下我想要某種形式的白色顏色的正則表達式。

我對顏色不是很瞭解,所以如果這是一個無知的問題,請原諒我。

+1

https://coveloping.com/tools/colour-shades-generator?colour=FFFFFF –

+1

爲每個顏色通道設置下限會比較容易,然後對於任何給定的顏色,檢查是否有任何通道下方門檻 你已經設定好了。至少,這是我認爲你需要的:檢查是否有任何給定的顏色是白色陰影。如果這個假設是錯誤的,請在您的文章中添加正確的意願或要求。只是說你試圖做某事但不解釋爲什麼我們很難幫助。 – klaar

回答

1

也許這個功能對你有幫助嗎?

它所做的是測試值是否爲白色(高於r/g/b值200)。如果#FFBBEE中提供的任何rgb值計算爲低於200的數字,則測試將失敗。

這是一個非常非常粗略的測試,但是由於您缺乏關於您確切需要的細節,因此這可能是一個很好的開端。 至少該函數爲您提供了將其轉換爲整數值的方法,您可以再次使用該方法以HSL等更好的格式進行計算,這將允許您執行更好的亮度檢查。 見this answer如果你想要去那個方向

其他的答案解釋RGB是什麼,以及如何,這是所有的顏色代碼組合使用,特別是user1203738

function isWhite(str) { 
 
    // fiddle this value to set stricter rules for what is white. 
 
    var whiteLimit = 200, 
 
     r,g,b; 
 
    
 
    r = parseInt("0x"+str.substring(1,3)); 
 
    g = parseInt("0x"+str.substring(3,5)); 
 
    b = parseInt("0x"+str.substring(5,7)); 
 
    if(r < whiteLimit || b < whiteLimit || g < whiteLimit) { 
 
     return false; 
 
    } 
 
    return true;  
 
} 
 
// use this function like this. supply it a colour code with a # in front of it 
 
isWhite("#FFFFFF");
<input type="text" value="#FFFFFF" id="colorcode"> 
 
<input type="button" value="test if this is white" onclick="document.getElementById('showcolor').style.backgroundColor = document.getElementById('colorcode').value;document.getElementById('showcolor').innerText='Shade of white:'+isWhite(document.getElementById('colorcode').value);"> 
 
<div id="showcolor" style="display:block;width:200px;height:200px;margin:50px;border 1px solid black;background-color:#AAA"></div>

答案
0

這會不會是完美的,但它可能讓你接近:

步驟1:Convert the color name to RGB hex

步驟2:檢查各個的第一個字符是否爲紅色,綠色和藍色十六進制值爲e或f。這可以實現爲正則表達式,例如:

/^#([ef][a-f0-9]){3}$/i

對於什麼被認爲是深淺不一的白色更多的例子,也見Encycolorpedia見。這個問題與平面設計社區更相關。

0

這些十六進制代表紅色,綠色和藍色的混合光。 #FFFFFF轉換爲白色,FF紅色,FF綠色和FF藍色。 你可以將十六進制FF值轉換回255,

想想它,就好像你有3個彩色燈;紅色,綠色和藍色。 你要把這些燈混合在一起。十六進制值確定每個燈的強度。

  • #000000將是黑色的。沒有燈亮起。
  • #FF0000將全紅。只有紅燈亮起。
  • #FFFF00會給你黃色。紅色和綠色指示燈亮起(並組合成黃色)
  • #FFFFFF會給你一個白色。所有燈亮起,
  • #AAAAAA會給你一個灰色的顏色,所有的燈都點亮但有點暗淡。
  • #FFFFF0會給你黃白色,全部點亮,但藍色缺乏一定的強度。

我建議你試試color picker,看看改變這些值的意思。

白色的顏色/陰影非常寬泛,如評論中提到的klaar,您應該定義什麼是白色。

一般來說,紅色,綠色和藍色的值彼此接近並且在200'強度之上「會顯得發白。

您可能更容易將RGB值轉換爲HSL(這不在此問題的範圍之內)。由於H(ue)值是無關緊要的,所以S(aturation)應該很低(沒有顏色)。並且L(亮度/亮度)值應該很高以顯示白色。