一些WPF中的滤镜特效——Effect Library
生活随笔
收集整理的這篇文章主要介紹了
一些WPF中的滤镜特效——Effect Library
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文:一些WPF中的濾鏡特效——Effect Library 原始工程中內(nèi)置了許多預覽圖片,導致體積較大,因此我去掉了內(nèi)置的位圖,TransitionEffects使用的是本地"我的圖片"文件夾中的jpg 格式文件,如果該文件夾中沒有圖片的時候,則無法預覽。 TransitionEffects工程中使用了幾張png文件作為蒙版,導致該庫的體積達到了2m(感覺這些蒙版完全可以運行時生成,不知道為什么沒有這么做),發(fā)布不是很方便。因此我編譯了一個去掉了這些圖片的版本。
WPF支持類似PhotoShop的濾鏡功能,稱之為Effect。在.Net 4.0中,WPF就廢棄了對BitMapEffect的支持,轉(zhuǎn)向使用支持GPU加速的Effect類,例如,我們可以使用如下代碼生成帶有陰影效果的按鈕。
1 <Button ... > 2 <Button.Effect> 3 <DropShadowEffect /> 4 </Button.Effect> 5 Hello 6 </Button>系統(tǒng)已經(jīng)自帶了十來種Effect,基本上能滿足我們的大部分的處理要求。如果有HLSL基礎,我們可以寫出自己的特效。MSDN的如下兩篇文章詳細的介紹了這一過程:
- GPU-accelerated custom effects for WPF
- Writing custom GPU-based Effects for WPF
微軟也自己提供了一些特效庫WPF Effects Library,這個庫在Channel 9上可以預覽,它提供了許多常用的濾鏡特效:如銳化、高光、扭曲、模糊、高光等,另外,還提供了一系列過渡特效,如百葉窗、溶解、旋轉(zhuǎn)、縮放等。可以方便我們打造炫酷的WPF程序。也支持Sliverlight,不過蛋疼的WinRT是不支持Effect的,WinRT的API和WPF比起來簡直弱爆了,期待Win10版本的Metro程序等多開放一些API吧,否則確實很提不起什么開發(fā)的動力來。
這個庫編譯起來比較麻煩(有的地方用VS2013編譯不過去),因此我這里上傳了一個編譯好了的一個版本 點擊下載。需要說明的是:
由于整個工程較大,我上傳到了百度網(wǎng)盤上了:點擊下載。
?
總結(jié)
以上是生活随笔為你收集整理的一些WPF中的滤镜特效——Effect Library的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux每日命令(14):less命令
- 下一篇: 网易云轻舟微服务深度解读:基于开源,强于