在Android設備上,實現一個毛玻璃(高斯模糊)效果:RxBlur
在Android設備上,實現一個毛玻璃(高斯模糊)效果總是讓人很棘手,不僅要考慮視覺效果,還要在性能和代碼實現的復雜度上做出權衡。 這里歸納和總結了幾種實現方案(PS: GitHub + StackOverflow + DIY),并且用RxJava進行封裝,方便以流的形式處理圖片的加載和操作。

使用說明:
項目結構
-
MainActivity: RxJava + RxBinding + RxViewStub + BestBlur
-
PicassoBlurActivity: RxJava + Picasso + Transformation + RenderScript
-
GlideBlurActivity: RxJava + Glide + Transformation + RenderScript
-
RemoteBlurActivity: RxJava + Retrofit + BestBlur
-
FastBlurActivity: RxJava + Picasso + FastBlur
-
PaintBlurActivity: RxJava + Picasso + PaintBlur
-
RxAnimatorBlurActivity: RxJava + Picasso + Animator(TypeEvaluator)
概要
把它運行起來,然后看一下高斯效果,這里我還計算了每種模糊算法的所耗時長,方便您的選擇,雖然BestBlur在代碼的復雜度上很難令人接受,但是在性能表現和模糊效果上還是令人滿意的,所以,綜合考慮,它是個不錯的選擇,而且,還可以設置模糊灰度。
如果您對RxJava更感興趣,可以按照我的實現思路,擴展自己需要的“RxBinding”。
Developed By
-
小?子 - Hi4Joker@gmail.com
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!