为什么DarkGray比Gray更亮?

时间:2010-09-28 10:54:34

标签: .net system.drawing

这里简单的好奇心,带着一些实际问题,因为我偶尔会被这个问题所困扰。

Color.DarkGray怎么比Color.Gray轻?

3 个答案:

答案 0 :(得分:212)

Wikipedia has some information on the subject。听起来很多命名的颜色定义来自X Windows系统。在X上,“灰色”实际上更接近“银色”。但是,W3C将格雷(更合适?)定义为RGB 50%。

这是关于这个主题的some more Wikipedia

  

也许X11和W3C之间的颜色冲突最不寻常的是   “灰色”及其变体的情况。在HTML中,“Gray”是具体的   保留给128三联(50%灰色)。然而,在X11中,“灰色”是   分配到190三联体(74.5%),接近W3C“银”   在192(75.3%),并且在211(83%)和“深灰”处有“浅灰色”   169名(66%)同行。结果,组合了CSS 3.0的颜色   今天在网上流行的列表产生“深灰色”作为   比普通的“灰色”明显更轻,因为“深灰色”   是X11的后代 - 因为它不存在于HTML或CSS级别   1 - 而“灰色”是HTML的后代。即使在目前的草案中   对于CSS 4.0,深灰色仍然比灰色浅。

W3C color个关键字:

DimGray    '#696969'  (105,105,105)  
Gray       '#808080'  (128,128,128)
DarkGray   '#A9A9A9'  (169,169,169)  //equal to X11 DarkGray
Silver     '#C0C0C0'  (192,192,192)  //close to X11 Gray (190,190,190)
LightGray  '#D3D3D3'  (211,211,211)  //equal to X11 LightGray
Gainsboro  '#DCDCDC'  (220,220,220)

答案 1 :(得分:7)

我想引用Tim Sneath's discussion关于那个,

  

这些颜色实际上并不源于HTML` - 它们的日期仍然远远超过源自UNIX系统的X Window系统。 HTML规范定义十六种命名颜色映射到EGA调色板中的基本十六种颜色,但最早的浏览器如Mosaic也支持任何其他X11命名颜色,基于它们在X上定义的颜色表示。不幸的是,一些原始十六种命名颜色与X11等价物具有不同的表示形式,例如,绿色在此颜色中以X11表示,而在HTML中则以此颜色表示。不幸的结果是Gray在HTML中被定义为#808080,但是DarkGray被表示为#A9A9A9,这意味着它们是错误的方式。由于WPF允许与HTML相同的命名颜色以实现兼容性,因此结果是相同的特性继续发展。 (您可以在维基百科中找到有关X11全部颜色名称及其表示的更多信息。)

这就是为什么作者还说最好使用十六进制或scRGB来表示颜色。

  

因此,我建议尽可能使用十六进制或scRGB颜色表示,否则您可能会对您选择的颜色与您的期望不符而感到惊讶!

答案 2 :(得分:6)

W3C灰色
九个指定名称,其中R,G和B值在数值上相等:

enter image description here