WFP之位图效果

本文介绍了如何使用WPF中的位图效果(BitmapEffect)来实现按钮的发光和投影效果,并详细解析了OuterGlowBitmapEffect和DropShadowBitmapEffect的属性设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  首先看一个图片:

 

在“第一步”这个按钮周围,有一转红色,这个效果就是用WPF的位图效果实现的。

位图效果(BitmapEffect 对象)是简单的像素处理操作。位图效果将 BitmapSource 作为输入并在应用效果(如模糊或投影)之后生成新的 BitmapSource。每个位图效果都公开了控制筛选属性的属性,如 BlurBitmapEffect Radius。(摘录MSDN
从上面的MSDN中看出一种效果的处理,主要有如果几种位图效果:
发光效果,投影效果,模糊效果,凹凸效果,浮雕效果五种,今天的例子中应用到两种效果,一个是发光效果,一个是投影效果。下面先看一下这个例子的XAML代码:

 1 < Window.Resources >    
 2
 3   < Style  TargetType =" {x:Type Button} " >
 4
 5        < Style.Triggers >
 6
 7                < Trigger  Property ="IsFocused"  Value ="True" >
 8
 9                              < Setter  Property  = "BitmapEffect"   >
10
11                                     < Setter.Value >
12
13                                            < OuterGlowBitmapEffect  GlowColor ="Red"  GlowSize ="20"  Noise ="20"
14
15                                                  Opacity ="0.3"   />
16
17                                     </ Setter.Value >
18
19                              </ Setter >
20
21                       </ Trigger >
22
23                < Trigger  Property ="IsPressed"  Value ="true" >
24
25            < Setter  Property  = "BitmapEffect"   >
26
27              < Setter.Value >
28
29                < DropShadowBitmapEffect  Color ="Blue"  Direction ="320"  
30
31                ShadowDepth ="20"  Softness ="1"  Opacity ="0.5" />
32
33              </ Setter.Value >
34
35            </ Setter >        
36
37                 </ Trigger >  
38
39                </ Style.Triggers >
40
41         </ Style >        
42
43 </ Window.Resources >
44


这是例子中摘出来的关键呈现位图效果的代码,其中OuterGlowBitmapEffect标签是实现发光的效果,DropShadowBitmapEffect是实现投影效果。下面具体看一下。
发光效果:
<OuterGlowBitmapEffect GlowColor="Red" GlowSize="20" Noise="20"   Opacity="0.3" />
GlowColor="Red"是设置发光的颜色
GlowSize="20",是发光的边缘的大小,其类型为Double,如果不设置,默认值是20,它的值的范围是从 1 199。单位是与设备无关的单位(每个单位 1/96 英寸)为度量单位
Noise="1",是发光的边缘是来为杂点,0为没有杂点,1为最大限度杂点,其类型为Double,取值范围是01
Opacity="0.3",是透明度,这个属性很通用,类型为Double,取值范围是01

投影效果:
<DropShadowBitmapEffect Color="Blue" Direction="320"     ShadowDepth="20" Softness="1" Opacity="0.5"/>

Color="Blue"是设置投影的颜色
Direction="320",是投影的角度,是Double类型,角度是以逆时针方式增加
ShadowDepth="20",类型是Double,投影平面与阴影平面之间的距离,单位是与设备无关的单位(每个单位 1/96 英寸)为度量单位。值的有效范围从 0 300。默认值为 5
Softness="1",阴影的柔和度。值的有效范围从 0 1。默认值为 0.5
Opacity="0.5",是透明度,这个属性很通用,类型为Double,取值范围是01

本例中的其他效果不在这里多说了!
本例的代码文件:
Effectsdemo例子

其他位图效果雷同,可参数MSDN学习。

转载于:https://www.cnblogs.com/axzxs2001/archive/2008/05/12/1193179.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值