我仍如何在WPF4.0中使用OuterGlowBitmapEffect?还是有任何用户定制的选择?

时间:2019-07-19 06:19:12

标签: wpf effects effect bitmapeffect

我在TextBlock中需要一个“外发光”效果,我看到了OuterGlowBitmapEffect,但在WPF4.0中不再起作用。 DropshadowEffect和BlurEffect不能完全像OuterGlowBitmapEffect一样工作。我想问问是否有一种方法可以使用过时的OuterGlowBitmapEffect,或者是否有任何用户可以提供光晕效果的库?

1 个答案:

答案 0 :(得分:0)

有时候效果太亮,有多种方法可以使它更暗/更大胆。

一种方法是两次应用效果,但是由于只能在控件上应用一次效果,因此您只需做一点工作。

     <Border>
        <Border.Effect>
            <DropShadowEffect Color="Black" ShadowDepth="0" BlurRadius="10" RenderingBias="Quality"></DropShadowEffect>
        </Border.Effect>
        <TextBlock Text="OuterGlowBitmapEffect" FontSize="28" Foreground="White">
            <TextBlock.Effect>
                <DropShadowEffect Color="Black" ShadowDepth="0" BlurRadius="10" RenderingBias="Quality"></DropShadowEffect>
            </TextBlock.Effect>
        </TextBlock>
    </Border>

在这种情况下,我使用边框再次在TextBlock上应用效果。 这将使BlurRadius变暗2倍。您也可以使用多种颜色(即I.E.一种模糊效果可能会更大一些(15?)和绿色,而主要效果是黑色,以达到万圣节的感觉。

您还可以使用网格,只需将带有DropShadowEffect的TextBlock复制几次,直到获得所需的黑暗度。

    <Grid>
        <TextBlock Text="OuterGlowBitmapEffect" FontSize="28" Foreground="White">
            <TextBlock.Effect>
                <DropShadowEffect Color="Black" ShadowDepth="0" BlurRadius="10" RenderingBias="Quality"></DropShadowEffect>
            </TextBlock.Effect>
        </TextBlock>
        <TextBlock Text="OuterGlowBitmapEffect" FontSize="28" Foreground="White">
            <TextBlock.Effect>
                <DropShadowEffect Color="Black" ShadowDepth="0" BlurRadius="10" RenderingBias="Quality"></DropShadowEffect>
            </TextBlock.Effect>
        </TextBlock>
        <TextBlock Text="OuterGlowBitmapEffect" FontSize="28" Foreground="White">
            <TextBlock.Effect>
                <DropShadowEffect Color="Black" ShadowDepth="0" BlurRadius="10" RenderingBias="Quality"></DropShadowEffect>
            </TextBlock.Effect>
        </TextBlock>
        <TextBlock Text="OuterGlowBitmapEffect" FontSize="28" Foreground="White">
            <TextBlock.Effect>
                <DropShadowEffect Color="Black" ShadowDepth="0" BlurRadius="10" RenderingBias="Quality"></DropShadowEffect>
            </TextBlock.Effect>
        </TextBlock>
    </Grid>