Почему System.Drawing.Color.Green(0, 128,0)?

Я думал, что это должно быть (0,255,0). Кто-нибудь знает, почему?

Ответы

Ответ 1

Поскольку платформа .NET использует версию W3C для названий цветов X11. Там, по-видимому, есть два разных "зеленых" цвета, X11 - один (0, 255, 0) и W3C, который равен (0, 128, 0).

По-видимому, не известно, почему W3C (или кто-либо) принял этот конкретный список цветов в качестве стандарта, хотя я предполагаю, что это потому, что это единственный реальный обширный список "простых в использовании, понятных для человека" имен для некоторые значения RGB (я лично не могу представить, как выглядит цвет #6495ED, пока я не посмотрю).

Существуют различия между списками W3C и X11 (например, "Серый" и "Фиолетовый", имеющие разные значения RGB между W3C и X11). Кроме того, среда .NET определяет "DarkSeaGreen" как (143, 188, 139) вместо (143, 188, 143). Я бы не удивился, если бы обоснование этих разных значений было "оно выглядело более зеленым/серым/фиолетовым/и т.д."