WPF不透明面具

时间:2011-10-28 21:23:16

标签: .net wpf opacity lineargradientbrush opacitymask

我可以使用LinearGradientBrush在WPF中创建不透明蒙版,如下所示

    <LinearGradientBrush x:Key="SplitterOpactityMask" StartPoint="0,0" EndPoint="1,0">
        <GradientStop Color="#FFFFFFFF" Offset="0"/>
        <GradientStop Color="#00FFFFFF" Offset="1"/>
    </LinearGradientBrush>

这给了我一个刷子,从刷子范围内的零透明度到完全透明度。

然而,使用十六进制代码来提供不同级别的透明度?例如,我想以75%的透明度开始我的画笔,然后转到画笔范围的100%。

1 个答案:

答案 0 :(得分:4)

作为documented,OpacityMask使用指定画笔中的alpha通道。如果您要求为颜色指定的十六进制的哪一部分表示alpha,那么它是8十六进制颜色代码的前2个十六进制字符(即#aarrggbb)。因此FF完全不透明,00完全透明。因此,75%的透明度(即25%不透明度)将为0x40(255 * .25)。