WFP之位图效果

简介:
首先看一个图片:

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

3 <Style TargetType="{x:Type Button}"> 

5            <Style.Triggers> 

7                            < Trigger Property="IsFocused" Value="True"> 

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 ,取值范围是 0 1
本例中的其他效果不在这里多说了!
本例的代码文件:
Effectsdemo例子
其他位图效果雷同,可参数 MSDN 学习。















本文转自桂素伟51CTO博客,原文链接:http://blog.51cto.com/axzxs/150004 ,如需转载请自行联系原作者

相关文章
|
6月前
|
存储 机器学习/深度学习 图形学
位图秘境:解析位图表示法及其在文件系统中的应用(一)
位图秘境:解析位图表示法及其在文件系统中的应用
125 0
|
6月前
|
存储 机器学习/深度学习 算法
位图秘境:解析位图表示法及其在文件系统中的应用(二)
位图秘境:解析位图表示法及其在文件系统中的应用
128 0
|
4月前
|
存储 算法 数据挖掘
【C++】位图
【C++】位图
45 1
|
5月前
|
C++
位图和布隆过滤器:位图
位图和布隆过滤器:位图
|
6月前
|
存储 算法 C++
【C++入门到精通】位图 | 位图的实现[ C++入门 ]
【C++入门到精通】位图 | 位图的实现[ C++入门 ]
74 0
|
存储 安全 索引
Bitmaps(位图)
什么是 Bitmaps Bitmaps 并不是实际的数据类型,而是定义在String类型上的一个面向字节操作的集合。因为字符串是二进制安全的块,他们的最大长度是512M,最适合设置成2^32个不同字节。 Bitmaps 的最大优势之一在存储信息时极其节约空间。例如,在一个以增量用户ID来标识不同用户的系统中,记录用户的四十亿的一个单独bit信息(例如,要知道用户是否想要接收最新的来信)仅仅使用512M内存。
 Bitmaps(位图)
|
存储 NoSQL Redis
Bitmaps-位图
Bitmaps-位图
153 0
Bitmaps-位图
Halcon把8位图转换为24位图的方法
Halcon把8位图转换为24位图的方法
473 0