为什么十六进制颜色值中的前导“#FF”?

时间:2009-09-27 23:57:42

标签: graphics blend color-scheme

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

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

最初,我将电子邮件中的十六进制值粘贴到相应的属性中。在我完成之前,Blend开始有一个合适的东西,用一个波形和工具提示强调颜色属性告诉我“令牌无效”。经过一些研究,我发现在十六进制值前面放置一个井号(“#”)解决了这个问题。

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

在十六进制颜色的世界中,#5A7F39的颜色与#FF5A7F39的颜色是否真的相同?为什么FF?它们是两个不同的十六进制值,对吧?但在屏幕上显示相同。为什么不同?

3 个答案:

答案 0 :(得分:15)

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

MSDN似乎同意这一点:http://msdn.microsoft.com/en-us/library/bb980062(VS.95).aspx

  

16位十六进制,alpha - #AARRGGBB

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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