2012-08-05 146 views
2

對於我的一個Web應用程序,我需要隨機選擇只有黑暗的HTML顏色代碼,我稍後將其用作字體顏色。這樣每次用戶刷新頁面時,字體的顏色都會改變。但它應該變成只有黑暗的陰影。有什麼辦法可以做到嗎?如何僅生成黑暗的html顏色代碼以用作字體顏色?

我用下面的代碼:

$color = sprintf("#%x%x%x", rand(0,255), rand(0,255), rand(0,255)); 

回答

5

而不是255,使用低得多的限制,像92

1

這取決於你的黑暗的意思,一個很粗糙的版本,可以只爲rg和b選擇0到127之間的隨機顏色值,而不是使用完整的255範圍。

有許多方法可以指定深色,而深色的許多變體可以具有一個或多個高於某個閾值的值。

0

「黑暗」是一個相對術語。在#FFFFFF,#FFFFAA#FFFFFE之間,第二個是「黑暗」。但一般來說,它們都不會被視爲深色。也可以將不同的概念翻譯爲黑度/亮度,如亮度,數值,光度發光度等。

因此,您需要先定義您感興趣的是什麼類型的黑度,以及閾值你正在衡量的價值。

This question on the brightness of RGB values包含用於各種亮度計算的算法。感知亮度可能是這個特定問題的最合適的公式(儘管可能有更多的算法試圖定義感知亮度而不僅僅是列出的兩個算法,並且您可能想要使用更高級的人類感知色彩空間之一在那裏像HCL或CIECAM02,而不是RGB),所以這只是逆轉公式以在特定亮度範圍內生成顏色的問題。

編輯:
一個大約有大不同的社區像StackExchange偉大的事情是,有這裏的程序員在各類領域的合作,並有很好的機會他們中的一個人已經問/回答相關問題你的或helpful to solving the problem you're working on