WPF---Effect效果

时间:2021-06-03 19:44:48

在 WPF 中,可以使用 BitmapEffect 对象为每一个 Visual 对象生成各种各样的效果,一个 Visual 对象可以设置一种或多种 BitmapEffect 效果,WPF 内置了几种效果:OuterGlowBitmapEffect(外发光)、DropShadowBitmapEffect(阴影)、 EmbossBitmapEffect(浮雕)、BlurBitmapEffect(模糊)、BevelBitmapEffect(斜角)。

  以下是这几种效果的效果图和对象的相关属性说明:

  OuterGlowBitmapEffect:

  效果图:

  

WPF---Effect效果

  属性说明:

  GlowColor:指定发光的颜色

  GlowSize:指定发光的大小

  Noise:指定是否在生成的发光中产生一种杂点的效果

  Opacity:此属性指定发光的透明度(0-1)

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  DropShadowBitmapEffect:

  效果图:

  

WPF---Effect效果

  属性说明:

  Color:指定阴影的颜色

  Direction: 阴影的方向,水平线的右边为0度,以逆时间的方向转动

  Noise:指示生成的阴影是否需要产生一种杂点的效果

  ShadowDepth:指示阴影同 Visual 对象之间的距离

  Softness:指示阴影的模糊度

  Opacity:指定阴影的透明度

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  EmbossBitmapEffect:

  效果图:

  

WPF---Effect效果

  属性说明:

  LightAngle:指定光的角度

  Relief:指定浮雕的程度,值的范围为0-1

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  BlurBitmapEffect:

  效果图:

  

WPF---Effect效果

  属性说明:

  KernelType:指定模糊的类型,有两种类型,分别为:Box 和 Gaussian,现在没有看出来这两种类型有什么区别

  Radius:指定模糊的半径

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  BevelBitmapEffect:

  效果图:

  

WPF---Effect效果

  属性说明:

  BevelWidth:指定凸凹边框的宽度

  LightAngle:指定光线的角度

  Relief:指定凸凹的程度

  Smoothness:指定四条边连接起的地方是否使用圆滑的方式连接

  EdgeProfile:指定凸凹的类型

  例子:

 <Canvas Name="CanArrows" Height="" Width="" Grid.Column=""
MouseLeftButtonUp="Canvas_MouseLeftButtonUp">
<Canvas.Background>
<ImageBrush ImageSource="images/Arrows.png"/> </Canvas.Background>
<Canvas.RenderTransform>
<RotateTransform CenterX="" CenterY="" Angle=""/>
</Canvas.RenderTransform>
<Canvas.Triggers>
<EventTrigger RoutedEvent="Canvas.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="0.3" From="1.0" Duration="0:0:1"
Storyboard.TargetProperty="(BitmapEffect).(OuterGlowBitmapEffect.Opacity)" Storyboard.TargetName="CanArrows"
RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
<Canvas.>
<OuterGlowBitmapEffect GlowColor="DarkBlue" GlowSize="" Noise="0.5"/>
</Canvas.>
</Canvas>

  本文来自gxy88816的博客,原文地址:http://hi.baidu.com/gxy88816/blog/item/3e9bd1f6d9b357b3a50f5238.html