.net 为什么暗灰色比灰色浅?

hlswsv35  于 2023-03-20  发布在  .NET
关注(0)|答案(3)|浏览(194)

只是好奇心使然,还夹杂着一些实际问题,因为我偶尔会被这件事弄糊涂。
为什么Color.DarkGrayColor.Gray轻?
这种行为也显示在CSS中,其中属性color: darkgrey呈现#A9A9A9,color: grey呈现#808080。

cld4siwp

cld4siwp1#

Wikipedia有一些关于这个主题的信息。听起来很多命名的颜色定义都来自X Windows系统。在X上,“灰色”实际上更接近“银”。然而,W3C将灰色(更恰当吗?)定义为RGB 50%。
下面是更多关于这个主题的维基百科:
也许X11和W3C之间最不寻常的颜色冲突是“灰色”及其变体的情况。在HTML中,“灰色”是专门为128三元组保留的然而,在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)
e5nqia27

e5nqia272#

W3C格雷

R、G和B值在数值上相等的九个指定名称:

slwdgvem

slwdgvem3#

我想引用Tim Sneath's discussion的话,
这些颜色实际上并不起源于HTML '--它们的日期**比起源于UNIX系统的X Window System还要早。**HTML规范定义了16种命名颜色,它们Map到EGA调色板中存在的基本16种颜色上,但最早的浏览器如Mosaic也支持任何其他X11命名颜色,基于它们在X上定义的颜色表示。不幸的是,原始十六种命名颜色中的一些具有与X11等价物不同的表示,例如绿色在X11中以该颜色表示,而在HTML中它是用这种颜色表示的。不幸的结果是灰色在HTML中被定义为#808080,而暗灰色被表示为#A9A9A9,这意味着它们是错误的方式。由于WPF允许与HTML相同命名的颜色以实现兼容性,结果是相同的特性得以延续。(您可以在Wikipedia中找到关于X11颜色名称及其表示的完整集合的更多信息)。
这就是为什么作者还指出,最好使用十六进制或scRGB来表示颜色。
因此,我的建议是尽可能地使用十六进制或scRGB颜色表示法,否则您可能会惊讶于您选择的颜色与您的期望不符!

相关问题