一、概述
WPF的出现可谓是程序员们的福音,因为不但像阴影、发光这种简单效果可以使用一两个属性实现,就连通道、动态模糊这些高级的效果也可以轻松驾驭。同时设计师和程序员还可以像为Photoshop开发滤镜一样为WPF开发效果类库,届时只要把类库引用到项目中就可以使用其中的效果了。
在UIElement类的成员中你可以找到BitmapEffect 和 Effect这两个属性,这两个属性都能用来为UI元素添加效果。你可能会问:为做同一件事准备了两个属性,难道不冲突吗?答案是:的确冲突。WPF最早期版本里只有BitmapEffect,它是用CPU的运算能力为 UI元素添加效果,程序的性能会因CPU资源被大量占用而大幅降低。随后版本,转用 Effect这个属性,转用显卡GPU的运算能力为 UI元素添加效果。这样即减少了对CPU的浪费又将应用程序的视觉效果拉平到与游戏程序一样级别。
因为有 Effect属性代替BitmapEffect属性,BitmapEffect已被标记为“过时”。
二、应用
2.1图形的效果
Effect 类有三个派生类,它们是: