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