首先看一个图片:

 
在“第一步”这个按钮周围,有一转红色,这个效果就是用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. 使用webview查找元素,appium查找web页面元素

    9 webview查找元素 9.1 webview 简介 WebView是android中一个非常重要的控件,它的作用是用来展示一个web页面.它使用的内核是webkit引擎,4.4版本之后,直接使用 ...

  2. 基于 Jepsen 来发现几个 Raft 实现中的一致性问题(2)

    Nebula Graph 是一个高性能.高可用.强一致的分布式图数据库.由于 Nebula Graph 采用的是存储计算分离架构,在存储层实际只是暴露了简单的 kv 接口,采用 RocksDB 作为状 ...

  3. python3(三十一)metaclass

    """ """ __author__ = 'shaozhiqi' # 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而 ...

  4. Thymeleaf+SpringBoot+Mybatis实现的家庭财务管理系统

    项目简介 项目来源于:https://gitee.com/darlingzhangsh/graduation_project 本系统是基于Thymeleaf+SpringBoot+Mybatis.是非 ...

  5. git tag命令

    创建本地标签 git tag -a [tagname] -m [msg] git tag -a [tag_name] [commit_id] -m [msg] 创建远程标签 git push orig ...

  6. Xcode 6.3.1Mac版 V6.4.Beta3免费下载

    Xcode for mac是Mac OS系统以及IOS系统开发者专用于构建 Mac OS X 及 iOS 应用程序的完整工具集 - Xcode 5 的工具经过重新设计,它们的性能更优秀.使用更容易,能 ...

  7. Web三维编程入门总结之一:WebGL与Threejs入门知识

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

  8. gdb 调试中No symbol “***” in current context解决方法

    主要是因为GCC/G++版本和GDB不匹配造成的,网上也有说是因为O2优化问题,具体啥原因需要自己尝试一下. 解决: 放狗搜索,解决办法是在编译是加-gdwarf-3即可,出现这样的原因是gcc,gd ...

  9. Maven+JSP+Servlet+JDBC+Redis+Mysql实现的黑马旅游网

    项目简介 项目来源于:https://gitee.com/haoshunyu/travel 本系统是基于Maven+JSP+Servlet+JdbcTemplate+Redis+Mysql实现的旅游网 ...

  10. Linux学习笔记(四)帮助命令

    帮助命令 man info help --help man 英文原意:format and display the on-line manual pages 功能:显示联机帮助手册 语法:man 选项 ...