6

我正在使用Expression Blend 3,并且正在手动编写一些 XAML,特别是控件的颜色值。

我有一个已经转换为十六进制的 RGB 颜色列表。我只需要将十六进制值插入我的 XAML。

最初,我将电子邮件中的十六进制值粘贴到适当的属性中。在我完成之前,Blend 开始调整,用曲线和工具提示在颜色属性下划线,告诉我“令牌无效”。经过一番研究,我发现在十六进制值前面放置一个井号(“#”)可以解决这个问题。

在研究这个问题的过程中,我开始通过 Blend 中的颜色选择器更改颜色。我很快发现 Blend 插入的值不仅以井号开头,而且还以“FF”开头。我粘贴的值是有效十六进制格式的有效颜色。但是当将 RGB 值输入 Blend 并让 Blend 插入十六进制值时,我注意到我所有的颜色都以“#FF”为前缀。正如我已经指出的那样,删除#会产生错误,但删除“FF”似乎根本没有效果。

在十六进制颜色的世界中,颜色 #5A7F39 真的与#FF5A7F39相同吗?为什么是FF?它们是两个不同的十六进制值,对吧?但它们在屏幕上看起来是一样的。为什么有区别?

4

3 回答 3

15

那可能是颜色的 alpha 分量,它表示不透明度(00 -> 透明,FF -> 不透明)。

MSDN似乎同意这一点:颜色

16 位十六进制,alpha -- #AARRGGBB

于 2009-09-28T00:00:03.737 回答
2

我相信领先的 FF 是alpha。255(或 FF)是 100% 不透明的,00 是透明的。

于 2009-09-28T00:02:16.763 回答
0

'extra' FF 是一个 alpha 值(透明度)。如果您只有三个十六进制对,则假定 alpha 值为 ff(无透明度)。但是,如果您比较#335A7F39 和#FF5A7F39,您应该会发现差异。

于 2009-09-28T00:02:31.927 回答