私のWebアプリケーションの1つでは、暗いhtmlカラーコードのみをランダムに選択する必要があります。これは後でフォントカラーとして使用します。ユーザーがページを更新するたびに、フォントの色が変わるようにします。しかし、それは暗い色合いだけに変わるはずです。それを行う方法はありますか?
次のコードを使用します。
$color = sprintf("#%x%x%x", rand(0,255), rand(0,255), rand(0,255));
私のWebアプリケーションの1つでは、暗いhtmlカラーコードのみをランダムに選択する必要があります。これは後でフォントカラーとして使用します。ユーザーがページを更新するたびに、フォントの色が変わるようにします。しかし、それは暗い色合いだけに変わるはずです。それを行う方法はありますか?
次のコードを使用します。
$color = sprintf("#%x%x%x", rand(0,255), rand(0,255), rand(0,255));
255の代わりに、92などのはるかに低い制限を使用します。
暗いとはどういう意味かによって異なりますが、非常に粗いバージョンでは、255の範囲全体を使用する代わりに、rgとbの0〜127のランダムな色の値を選択できます。
ただし、暗い色を指定する方法はたくさんあり、特定のしきい値よりも高い値を1つ以上持つことができる暗い色のバリエーションもたくさんあります。
「ダーク」は相対的な用語です。#FFFFFF
、#FFFFAA
との間で#FFFFFE
、2番目のものは「暗い」です。しかし、一般的な用語では、それらのどれも暗い色とは見なされません。輝度、値、測光輝度など、暗さ/明るさとして変換できるさまざまな概念もあります。
したがって、最初に、関心のある暗闇のタイプと、測定する値のしきい値を定義する必要があります。
RGB値の明るさに関するこの質問には、さまざまな明るさ計算のアルゴリズムが含まれています。知覚輝度は、おそらくこの特定の質問に最も適切な式です(ただし、リストされている2つだけでなく、知覚輝度を定義しようとするアルゴリズムはおそらく他にもたくさんあり、より高度な人間の知覚色空間の1つを使用することをお勧めします。 RGBではなくHCLやCIECAM02のように)、特定の輝度範囲内の色を生成するには、式を逆にするだけです。
編集:
StackExchangeのような大規模で多様なコミュニティを持つことの素晴らしい点の1つは、ここにすべてのタイプの分野で働いているプログラマーがいることです。に取り組んでいます。