我有一个转换器,可根据某些状态项确定颜色。我打算调整颜色,不透明度等,但是甚至无法获得与初学者匹配的颜色。
问题:为什么下面两行代码的结果不等同?我将以Green为例。当我跑步时,第一个产生正常的绿色,第二个是浅绿色,具有明确的不透明度/透视:
return new SolidColorBrush(Colors.Green);
return new SolidColorBrush{Color = new Color{A = 100, B = 0, G = 128, R = 0}};
作为测试,当我在Blend中创建一个Rectangle并用Green填充它时
<Rectangle Fill="Green"
我看到R是0,G是128,B是0,A是100%
答案 0 :(得分:2)
A
不是百分比,而是字节值,如R
,G
和B
。您必须为100%不透明度指定255
。
答案 1 :(得分:2)
答案是alpha通道输入参数不是百分之百。您必须将其设置为最大值255,如下所示:
return new SolidColorBrush{Color = new Color{A = 255, B = 0, G = 255, R = 0}};