首先看一个图片:

 
在“第一步”这个按钮周围,有一转红色,这个效果就是用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
 

这是例子中摘出来的关键呈现位图效果的代码,其中。

投影效果:
<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 ,如需转载请自行联系原作者

WFP之位图效果的更多相关文章

  1. WPF元素可视化效果

    在WPF中设置元素的可视化效果主要用到BlurEffect类和DropShadowEffect类.(目前只学到这两个,哈哈) 1.BlurEffect类 命名空间: System.Windows.Me ...

  2. Oracle索引——位图索引

    1.语法create bitmap index index_name on 表名(字段);2.举个例子你就能明白了:如有表 test(id,name,address)数据(1,张三,大连)(2,李四, ...

  3. Delphi GDI对象之绘制位图

    http://www.cnblogs.com/pchmonster/archive/2012/07/06/2579334.html 绘制位图(Drawing Bitmaps) 绘制位图听起来似乎很难, ...

  4. WPF-WPF BitmapEffect (按钮凹凸效果)

    原文:WPF-WPF BitmapEffect (按钮凹凸效果) BitmapEffect位图效果是简单的像素处理操作.它可以呈现下面几种特殊效果.              BevelBitmapE ...

  5. WPF的Effect效果

    一.阴影效果(DropShadowEffect) <TextBlock Text="> <TextBlock.Effect> <DropShadowEffect ...

  6. 【WPF学习】第四十六章 效果

    WPF提供了可应用于任何元素的可视化效果.效果的目标是提供一种简单的声明式方法,从而改进文本.图像.按钮以及其他控件的外观.不是编写自己的绘图代码,而是使用某个继承自Effect的类(位于System ...

  7. WPF的二维绘图(一)——DrawingContext

    DrawingContext比较类似WinForm中的Graphics 类,是基础的绘图对象,用于绘制各种图形,它主要API有如下几种: 绘图API 绘图API一般形为DrawingXXX系列,常用的 ...

  8. .NET Framework3.0/3.5/4.0/4.5新增功能摘要

    Microsoft .NET Framework 3.0 .NET Framework 3.0 中增加了不少新功能,例如: Windows Workflow Foundation (WF) Windo ...

  9. ccs3中icon转换为字体的方法

    小图标转换为字体有几大优点 文件小,一般50k以内 避免了加载多个icons,减少了加载次数,有利于页面优化. 兼容性很好,可以随便放大缩小,都能正常显示. 维护起来也很简单,只用找到这个字体文件(比 ...

随机推荐

  1. php--MongoDB的使用

    添加 $collection = (new MongoDB\Client)->test->users; // 增加一条 $insertOneResult = $collection-> ...

  2. python--匿名函数、文件操作

    一.匿名函数 语法: sum = lambda arg1, arg2: arg1 + arg2 #调用sum函数 print "Value of total : ", sum( 1 ...

  3. kepp running 团队视频分析初步总结

    一.遇码则码队视频讨论: 时    间:2020.03.31 方    式:视频会议 参加人员:温学智,胡海靖,莫佳亮 二.视频讨论会议截图: 三.纪要内容: (1).主要功能和界面显示: 温学智:在 ...

  4. linux系统管理,查看系统资源

    free 查看内存使用情况 -b  ===>  以byte为单位 -k  ===>  以Kb为单位 -m  ===>  以Mb为单位 -g  ===>  以Gb为单位 -t  ...

  5. Java第八天,抽象的概念是什么?如何完成抽象类的实现?

    抽象 面向对象编程中,抽象是一个很重要的概念,那么抽象有什么需要注意的地方呢?请熟记以下知识点. 如果父类当中的方法不确定如何进行方法体的实现,则这个方法就是抽象方法. 抽象方法只需要在方法前面加上a ...

  6. npm install报错:chromedriver@2.27.2 install: node install.js

    报错: 刚开始以为是 node 或 npm 版本问题,前前后后折腾了好久,终于解决了 解决: 如果执行过npm install,先删除 node_modules 文件夹,不然运行的时候可能会报错 执行 ...

  7. pythone 时间模块

    时间模块(时区) 计算方式:时间戳是一串数字,从计算机诞生的那一秒到现在过了多少秒,每过一秒+1 #时间戳#由时间戳获取格式化时间#由格式化时间获取时间戳 import time def timene ...

  8. matplotlib Bbox类

    Bbox 类是一个可变的(相对于BboxBase)限位框, 继承自BboxBase 2020-04-07 22:54:57  --Edit by yangray 方法: __init__(points ...

  9. 使用基于vuecli创建的目录推送到指定远程分支

    笔者使用vuecli创建项目目录以后,在想将该目录提交到远程仓库时发现行不通,在忙活了一下午以后写下此文 1.github上新建一空分支,然后克隆该分支地址:  https://github.com/ ...

  10. AJ学IOS(22)UI之UIApplicationDelegate和UIWindow

    AJ分享,必须精品 UIApplicationDelegate 每次新建完项目,都有个带有“AppDelegate”字眼的类,它就是UIApplication的代理 NYAppDelegate默认已经 ...