这里的好奇心有点实际问题,因为我偶尔会被这种情况吸引住。
为什么Color.DarkGray
比轻Color.Gray
?
Gray
是0x80(×RGB)与0x69(×RGB)DimGray
处的(或应该是“灰色” )。
这里的好奇心有点实际问题,因为我偶尔会被这种情况吸引住。
为什么Color.DarkGray
比轻Color.Gray
?
Gray
是0x80(×RGB)与0x69(×RGB)DimGray
处的(或应该是“灰色” )。
Answers:
维基百科上有一些有关该主题的信息。听起来很多命名的颜色定义都来自X Windows System。在X上,“灰色”实际上更接近“银色”。但是,W3C将“灰色”(更合适吗?)定义为RGB 50%。
以下是有关该主题的更多维基百科:
X11和W3C之间最不寻常的颜色冲突可能是“灰色”及其变体的情况。在HTML中,“灰色”是专门为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 颜色关键字:
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)
darkgray
颜色更深silver
,为什么不命名darksilver
呢?
这些颜色实际上并不是起源于HTML`-它们的日期可以追溯到起源于UNIX系统的X Window系统。HTML规范定义了16种命名颜色,这些颜色映射到EGA调色板中存在的16种基本颜色,但是最早的浏览器(例如Mosaic)也基于X上定义的颜色表示,也支持其他X11命名颜色。最初的十六种命名颜色中的十一种具有与X11等效项不同的表示形式,例如,绿色在X11中以该颜色表示,而在HTML中则以该颜色表示。不幸的结果是,Gray在HTML中定义为#808080,但DarkGray被表示为#A9A9A9,这意味着它们是错误的方法。由于WPF允许使用与HTML相同的命名颜色来兼容,因此结果是相同的特质继续存在。
这就是为什么作者还指出,最好使用十六进制或scRGB表示颜色。
因此,我的建议通常是尽可能使用十六进制或scRGB颜色表示,否则您可能会对所选择的颜色与期望不符而感到惊讶!