BitmapEffect学习
Bitmap Effect位于System.Windows.Media.Effects 命名空间下,可以方便的实现大量的特殊效果,
下面介几种BitmapEffect
- BevelBitmapEffect 元素表面出现倾斜的阴影效果
- BlurBitmapEffect 元素表面出现模糊的效果
- DropShadowBitmapEffect 元素外部添加阴影
- EmbossBitmapEffect 元素表面添加浮雕效果
- OuterGlowBitmapEffect 元素的外围添加光晕效果
下面是BitMapEffect的各种属性的解释
BevelBitmapEffect | |||
在元素表面添加倾斜的阴影效果 | |||
属性 | 描述 | 类型 | 有效取值 |
BevelWidth | 倾斜阴影的宽度 | Double |
|
EdgeProfile | 弯曲方式 | EdgeProfile枚举 | EdgeProfile.BulgedUp EdgeProfile.CurvedIn EdgeProfile.CurvedOut EdgeProfile.Linear |
LightAngle | 照射在浮雕上的灯光的方位。0为右手方向.按照逆时针方向角度不断增大 | Double | 0°~360° |
Relief | 倾斜阴影的表现程度.0为最弱,1为最强 | Double | 0~1 |
<BevelBitmapEffect BevelWidth="15" EdgeProfile="CurvedIn" LightAngle="320" Relief="0.4" Smoothness="0.4" /> |
<!--[if !vml]--><!--[endif]-->
BlurBitmapEffect | |||
元素表面产生模糊的效果 | |||
属性 | 描述 | 类型 | 有效取值 |
Radius | 元素表面模糊区域半径, | Double | 0~300 |
KernelType | Box kernel比Gaussian kernel模糊效果更明显 | KernelType枚举 | Gaussian,Box |
<Button Width="200" Name="b" Height="20"> You Can't Read This! <Button.BitmapEffect> <BlurBitmapEffect Radius="10" KernelType="Box" x:Name="blurbitmap" /> </Button.BitmapEffect> </Button> |
<!--[if !vml]--><!--[endif]-->
DropShadowBitmapEffect | |||
为元素添加阴影 | |||
属性 | 描述 | 类型 | 有效取值 |
Color | 阴影颜色 | Color |
|
ShadowDepth | 阴影与元素的距离 | Dobule |
|
Noise | 阴影中颗粒物体的程度,0为最小,1最大 | Double | 0~1 |
Opacity | 透明度,0为完全透明,1为不透明 | Double | 0~1 |
Direction | 阴影位于物体的方位。0度位于物体正右方,按照逆时针方向旋转角度不断增大 | Double | 0°~360° |
Softness | 柔软程度,从效果上看Softness决定了阴影的雾化程度。0为雾化效果最小,1为最大 | Double | 0~1 |
<Button Margin="50" Width="200"> DropShadow Under this Button <Button.BitmapEffect> <DropShadowBitmapEffect Color="Red" Direction="270" ShadowDepth="25" Softness="0" x:Name="dsb" Opacity="0.5"/> </Button.BitmapEffect> </Button> |
<!--[if !vml]--><!--[endif]-->
EmbossBitmapEffect | |||
为元素表面添加浮雕效果 | |||
属性 | 描述 | 类型 | 有效取值 |
LightAngle | 照射到浮雕上 的灯光的角度。0°为右手方向,按照逆时针旋转角度随之增大 | Double | 0°~360° |
Relief | 效果的呈现程度0为最强,1最弱 | Dobule | 0~1 |
<Image Width="360" Source="C:/Documents and Settings/All Users/Documents/My Pictures/示例图片/Sunset.jpg" Margin="10" > <Image.BitmapEffect> <EmbossBitmapEffect Relief="0.8" LightAngle="320" x:Name="emboss" /> </Image.BitmapEffect> </Image> |
<!--[if !vml]--><!--[endif]-->
OuterGlowBitmapEffect | |||
在元素的外围添加光晕效果 | |||
属性 | 描述 | 类型 | 有效取值 |
GlowColor | 光晕颜色 | Color |
|
GlowSize | 光晕大小 | Double |
|
Noise | 光晕中出现颗粒物体的程度,0为最小,1最大 | Double | 0~1 |
Opacity | 透明度。0为完全透明,1为不透明 | Double | 0~1 |
<TextBox Width="200"> <TextBox.BitmapEffect> <OuterGlowBitmapEffect GlowColor="Blue" GlowSize="30" Noise="0.5" x:Name="outer" Opacity="0.5" /> </TextBox.BitmapEffect> </TextBox> |
<!--[if !vml]--><!--[endif]-->
示例程序下载:BitmapEffectTest.rar
相关资源 ms-help://MS.MSSDK.1033/MS.WinFXSDK.1033/wpf_conceptual/html/be180b56-ca6e-4da3-a839-f6b0bf482f7d.htm