2016-04-17 12 views
1

ConsoleColor.Redコードは赤色の色を与えます。コード(ConsoleColor)3746はあなたに別の色を与えます。しかし、この数字(rgb、hex)は何ですか?また、その逆のrgb値に変換するにはどうすればいいですか?コンソールの色の値は何ですか

+0

ここをご覧ください:http://www.rapidtables.com/web/color/RGB_Color.htm – Fruchtzwerg

+0

https://msdn.microsoft.com/en-us/library/system.consolecolor(v=vs.110) .aspx色の選択の列挙として説明されています。そのため、列挙可能な値は実際の色の内容を全く表現する必要はありません(mscorlib.dllのどこかに変換するリストがあることを暗示します)。異なる数字を試してみてください。連続した値が大きく異なる色を生成する場合は、ルックアップリストを使用している可能性があります。 – PeteB

答えて

5

まず、コンソール色の世界は4ビットであるのは、色

var colors = Enum.GetValues(typeof(ConsoleColor)).Cast<ConsoleColor>(); 

foreach (var color in colors) 
{ 
    Console.BackgroundColor = color; 
    Console.WriteLine(color); 
} 

Console Colors

を見てみましょう:赤、緑、青、および強度のために1に1つずつ、の飽和を倍増指定された色(グレー/ホワイトを除く)これにより15種類の可能な異なる色が得られます。 「グレー」奇数1アウトであることを

Name   R G B 
------------------------- 
Black  00 00 00 
DarkBlue  00 00 80 
DarkGreen 00 80 00 
DarkCyan  00 80 80 
DarkRed  80 00 00 
DarkMagenta 80 00 80 
DarkYellow 80 80 00 
DarkGray  80 80 80 
Blue   00 00 FF 
Green  00 FF 00 
Cyan   00 FF FF 
Red   FF 00 00 
Magenta  FF 00 FF 
Yellow  FF FF 00 
Gray   C0 C0 C0 
White  FF FF FF 

注:対応するヘクスは、赤、緑、青のそれぞれについて0、80とFFであろう。この理由は、実際には4ビットが16色を可能にするが、オン・オン+輝度方式では15ビットしか一意に符号化できないからである。

関連する問題