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" />
 

 


 

BlurBitmapEffect

元素表面产生模糊的效果

属性

描述

类型

有效取值

Radius

元素表面模糊区域半径,

Double

0300

KernelType

Box kernelGaussian kernel模糊效果更明显

KernelType枚举

GaussianBox

    <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>


 

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>


 

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>


 

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>


示例程序下载:BitmapEffectTest.rar
相关资源 ms-help://MS.MSSDK.1033/MS.WinFXSDK.1033/wpf_conceptual/html/be180b56-ca6e-4da3-a839-f6b0bf482f7d.htm
posted on 2006-09-27 16:54  stswordman  阅读(3843)  评论(2编辑  收藏  举报