• 一些WPF中的滤镜特效——Effect Library


    WPF支持类似PhotoShop的滤镜功能,称之为Effect。在.Net 4.0中,WPF就废弃了对BitMapEffect的支持,转向使用支持GPU加速的Effect类,例如,我们可以使用如下代码生成带有阴影效果的按钮。

    1 <Button ... >
    2     <Button.Effect>
    3         <DropShadowEffect />
    4     </Button.Effect>
    5     Hello
    6 </Button>

    系统已经自带了十来种Effect,基本上能满足我们的大部分的处理要求。如果有HLSL基础,我们可以写出自己的特效。MSDN的如下两篇文章详细的介绍了这一过程:

    微软也自己提供了一些特效库WPF Effects Library,这个库在Channel 9上可以预览,它提供了许多常用的滤镜特效:如锐化、高光、扭曲、模糊、高光等,另外,还提供了一系列过渡特效,如百叶窗、溶解、旋转、缩放等。可以方便我们打造炫酷的WPF程序。也支持Sliverlight,不过蛋疼的WinRT是不支持Effect的,WinRT的API和WPF比起来简直弱爆了,期待Win10版本的Metro程序等多开放一些API吧,否则确实很提不起什么开发的动力来。

    这个库编译起来比较麻烦(有的地方用VS2013编译不过去),因此我这里上传了一个编译好了的一个版本 点击下载。需要说明的是:

    1. 原始工程中内置了许多预览图片,导致体积较大,因此我去掉了内置的位图,TransitionEffects使用的是本地"我的图片"文件夹中的jpg 格式文件,如果该文件夹中没有图片的时候,则无法预览。
    2. TransitionEffects工程中使用了几张png文件作为蒙版,导致该库的体积达到了2m(感觉这些蒙版完全可以运行时生成,不知道为什么没有这么做),发布不是很方便。因此我编译了一个去掉了这些图片的版本。

    由于整个工程较大,我上传到了百度网盘上了:点击下载

  • 相关阅读:
    深入理解六边形架构
    boost::lockfree使用介绍
    分布式监控系统zipkin介绍
    深入理解std::chrono的时钟Clock
    arcgis地图空白原因收集
    VM16
    ubuntu16.04 搭建简单http代理服务器 TinyProxy
    git 提交:gnutls_handshake() failed: Error in the pull function
    scrapy-redis redis 认证
    python把html网页转成pdf文件
  • 原文地址:https://www.cnblogs.com/TianFang/p/4307560.html
Copyright © 2020-2023  润新知