WPF Opacity Masks

Я могу создать маску непрозрачности в WPF, используя LinearGradientBrush следующим образом

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

Это дает мне кисть, начиная с нулевой прозрачности до полной прозрачности в диапазоне кисти.

Однако какие шестнадцатеричные коды используются для обеспечения разных уровней прозрачности? Например, я хочу начать свою кисть с прозрачностью 75%, а затем перейти к 100% диапазона кисти.

1 ответ

Решение

Как задокументировано, OpacityMask использует альфа-канал из указанной кисти. Если вы спрашиваете, какая часть шестнадцатеричного числа, которое вы указываете для цвета, представляет альфа, то это первые 2 шестнадцатеричных символа из шестнадцатеричного цветового кода (т.е. #aarrggbb). Таким образом, FF полностью непрозрачен, а 00 полностью прозрачен. Таким образом, прозрачность 75% (т.е. непрозрачность 25%) будет 0x40 (255 * .25).

Другие вопросы по тегам