我需要生成一種隨機背景色,這種背景色在視覺上符合三種文本顏色:ARGB(255,255,255,255)
,ARGB(63,255,255,255)
和ARGB(255,0,0,0)
。顏色是白色的,白色爲0.25不透明度,黑色。我還沒有在SO或其他地方看到一個比較顏色和多種顏色的例子來決定它們之間是否有良好的對比(比較僅在兩種顏色之間完成)。我不完全瞭解色彩理論,所以我在尋求幫助。多種前景色的隨機背景色
0
A
回答
0
首先,您需要熟悉色彩空間並決定使隨機色彩在視覺上吸引人的地方。顏色基本上可以表示爲three components in many different spaces。計算機的首選代表是RGB,紅色,綠色和藍色的數量與顏色相符。然而,對於人眼而言,HSV(色調,飽和度,值)可能更容易理解。在該顏色空間中,飽和度表示顏色是如何「飽和」的,即灰度範圍的飽和度爲零,因爲它實際上不表示顏色。價值(或強度)認爲它的亮度和色調類型可以讓你知道顏色屬於哪個方向的光譜(想象一下彩虹)。 alpha值不是顏色本身的一部分,而是指定特定顏色如何與背景混合(即,生成的顏色是通過其前景色的alpha分量和背景色計算的加權和)
現在在選擇一個更復雜的視覺上吸引人的顏色方面,更多地取決於每個人的口味。通常您可以通過選擇HSV顏色空間中距離足夠大的另一種顏色來獲得高對比度顏色。事實上,選擇具有相同顏色(例如相同飽和度和強度)但顏色差異很大的顏色會給您一種與原始顏色形成高對比度的顏色。從RGB到HSV和反之亦然的轉換公式可以在here找到。希望這可以幫助。
0
與白色對比的顏色是黑暗的。另一方面,與黑色對比的顏色是任何黑暗的。所以很難選擇白色和黑色的對比色。
它可能是一些平均灰色或任何其他顏色具有相同的亮度。
亮度可以用公式來計算:
int brightness = (int)(0.30 * red + 0.59 * green + 0.11 * blue);
讓固定brightness
值進行平均(即128),然後隨機選擇red
和值。然後,我們可以計算出blue
:
var random = new Random();
var red = random.Next(256);
var green = random.Next(256);
var blue = (int)(128 - 0.30 * red - 0.59 * green);
產生的顏色是相當的對比黑色和白色兩種。
相關問題
- 1. 隨機顏色背景
- 2. 多種背景顏色Fabricjs
- 3. jQuery的:隨機背景顏色
- 4. MonoTouch的隨機背景顏色
- 5. 陣列的隨機背景顏色 - PHP
- 6. 隨機彩色背景的問題
- 7. 隨機背景顏色變化
- 8. 只有css的多種背景顏色
- 9. 帶有多種背景顏色的Cardview
- 10. 多色背景Plotly
- 11. 如何根據前景色和背景色計算第三種顏色?
- 12. 兩種顏色背景
- 13. Jquery滑塊與多種背景顏色
- 14. QPalette具有多種顏色背景
- 15. 多種背景顏色相互重疊
- 16. CSS3PIE背景褪色背景顏色
- 17. 根據背景製作前景色黑色或白色
- 18. JQuery隨機背景顏色和顏色,在2 div的
- 19. 背景或背景顏色?
- 20. 更改終端背景和前景色
- 21. 終端背景和前景色
- 22. 基於背景更改TextBlock前景色
- 23. 手機導航背景色
- 24. Textfield背景色白色,活動灰色背景色
- 25. 背景顏色50%一種顏色和50%另一種顏色
- 26. 如何設置JXBrowser默認的前景色和背景色?
- 27. 如何修改OpenXML TableCell的前景色和背景色?
- 28. vim:colorcolumn的反轉前景色和背景色
- 29. 背景顏色
- 30. 白色背景()
我建議隨機挑選並測量距離。 – Jasen
試試看這裏:http://24ways.org/2010/calculating-color-contrast/ – Icemanind