WFP之位图效果

首先看一个图片:

 
在“第一步”这个按钮周围,有一转红色,这个效果就是用 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 ,取值范围是 0 1
Opacity="0.3" ,是透明度,这个属性很通用,类型为 Double ,取值范围是 0 1
投影效果:
<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 ,取值范围是 0 1
本例中的其他效果不在这里多说了!
本例的代码文件:
Effectsdemo例子
其他位图效果雷同,可参数 MSDN 学习。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值