現在ログインしていません。
新規アカウント作成
ログイン

プログラムでHTMLで定義されている色の名前の一覧を取得する

HTMLでは色を指定するときにredやblue、lightblueなど名前を使うことができます。 これらの名前はCSSカラーモジュール レベル3[1]に、拡張色名(Extended color keywords)として147個定義されています。

Microsoft.Ajax.Utilities.ColorSliceクラスを使用すると、C#VBでこの147個の一覧とその色の16進数での値を取得することができます。

このクラスはNuGetWebGreaseをインストールすると使えるようになります。

一覧を取得するプログラムは次の通りです。

foreach (KeyValuePair<stringstring> color in Microsoft.Ajax.Utilities.ColorSlice.AllColorNames)
{
    Console.WriteLine("Name=" + color.Key + " Value=" + color.Value);
}
■リスト1:C#版 HTMLの色の一覧の取得

For Each color As KeyValuePair(Of StringStringIn Microsoft.Ajax.Utilities.ColorSlice.AllColorNames
    Console.WriteLine("Name=" + color.Key + " Value=" + color.Value)
Next
■リスト2:VB版 HTMLの色の一覧の取得

色の名前から16進数の値を取得するには次のようにします。

//#add8e6
string colorValue = Microsoft.Ajax.Utilities.ColorSlice.AllColorNames["lightblue"];
■リスト3:C#版 HTMLの色の名前から16進数の値を取得

'#add8e6
Dim colorValue As String = Microsoft.Ajax.Utilities.ColorSlice.AllColorNames("lightblue")
■リスト4:VB版 HTMLの色の名前から16進数の値を取得

なお、CSSで定義されている147個の名前はちょっとおかしなところがあって、別の名前が同じ色を指していることがあります。たとえば、grayとgreyは名前が違いますが同じ色です。

参考

  1. ^ http://www.w3.org/TR/css-color-3/