Android中為網路圖片設定高斯模糊效果
寫一個方法,用來對Bitmap進行高斯模糊:
public static Bitmap blurBitmap(Bitmap bitmap ,Context context){ //Let's create an empty bitmap with the same size of the bitmap we want to blur Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); //Instantiate a new RenderscriptRenderScript rs = RenderScript.create(context); //Create an Intrinsic Blur Script using the Renderscript ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); //Create the Allocations (in/out) with the Renderscript and the in/out bitmaps Allocation allIn = Allocation.createFromBitmap(rs, bitmap); Allocation allOut = Allocation.createFromBitmap(rs, outBitmap); //Set the radius of the blur: 0 < radius <= 25 blurScript.setRadius(12.0f); //Perform the Renderscript blurScript.setInput(allIn); blurScript.forEach(allOut); //Copy the final bitmap created by the out Allocation to the outBitmapallOut.copyTo(outBitmap); //recycle the original bitmap bitmap.recycle(); //After finishing everything, we destroy the Renderscript. rs.destroy(); return outBitmap; }
blurScript.setRadius(12.0f);//這個是設定模糊度,取值在0 < radius <= 25,值越大越模糊
既然是網路圖片,用url生成Bitmap的方法如下:
/** * @param urlpath * @return Bitmap * 根據圖片url獲取圖片物件 */ public static Bitmap getBitMBitmap(String urlpath) { Bitmap map = null; try { URL url = new URL(urlpath); URLConnection conn = url.openConnection(); conn.connect(); InputStream in; in = conn.getInputStream(); map = BitmapFactory.decodeStream(in); // TODO Auto-generated catch block } catch (IOException e) { e.printStackTrace(); } return map; }
這個方法不能在UI執行緒中執行,又引出下面的部分,用Thread+Handler實現,程式碼如下:
Thread:
new Thread(new Runnable() { @Override public void run() { Bitmap bitmap = Utils.getBitMBitmap(headerImageUrl); Message msg = Message.obtain(); msg.what = 0; msg.obj = bitmap; handler.sendMessage(msg); } }).start();
Handler:
Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == 0){ Bitmap newBitmap = Utils.blurBitmap((Bitmap) msg.obj ,getActivity()); iv_parent.setImageBitmap(newBitmap); } } };
完畢
相關推薦
Android中為網路圖片設定高斯模糊效果
寫一個方法,用來對Bitmap進行高斯模糊: public static Bitmap blurBitmap(Bitmap bitmap ,Context context){ //Let
Android使用RenderScript實現圖片的高斯模糊效果
Android使用RenderScript實現圖片的高斯模糊效果 首先來看一下什麼是高斯模糊效果呢? 高斯模糊(英語:Gaussian Blur),也叫高斯平滑,是在Adobe Photoshop、GIMP以及Paint.NET等影象處理軟體中廣泛使用的處理效果,通常用它
Android——圖片設定為高斯模糊效果(ImageView)
效果圖://模糊 Resources res = ShowActivity.this.getResources(); //拿到初始圖 Bitmap bmp= BitmapFactory.decodeRe
Android 自定義設定圖片模糊度、高斯模糊效果
最近專案中有需要到“毛玻璃”效果,網上找一下,千篇一律。高談闊論扯淡的多,真正有用的沒幾個! 藉助此文,做修改之後,實現效果!我只是個搬運工,在此表示感謝! 淡不多扯,直接上程式碼: MainActivity: public class MainActiv
Android本地圖片或者網路圖片高斯模糊效果(毛玻璃效果)圖片模糊效果一行程式碼搞定
一,實現本地圖片或者網路圖片的毛玻璃效果特別方便,只需要把下面的FastBlurUtil類複製到你的專案中就行 package com.testdemo.blur_image_lib10; import android.graphics.Bitmap; import andr
Android實現圖片的高斯模糊(兩種方式)
原文地址:http://www.jb51.net/article/107482.htm 在市面上很多的APP都使用了對圖片作模糊化處理後作為背景的效果,來使得整個頁面更具有整體感。如下就是網易雲音樂的音樂播放頁面: 很明顯這個頁面的背景是由中間的小圖片模糊化後而來的。
android使用方法---圖片的高斯模糊
今天這裡給大家介紹兩個高斯模糊的方法和一個優化的方法 1,RenderScript RenderScript是在Android上的高效能執行密集型運算的框架,RenderScript主要用於資料平行計算,尤其對影象處理、攝影分析和計算機視覺特別有用。Rend
URL轉Drawable之 Android中獲取網路圖片的三種方法
轉載自: http://doinone.iteye.com/blog/1074283 android中獲取網路圖片是一件耗時的操作,如果直接獲取有可能會出現應用程式無響應(ANR:Application Not Responding)對話方塊的情況。對於這種情況,一般的方
iOS開發-圖片高斯模糊效果
iOS開發的時候有的時候需要將圖片設定模糊,或者通過點選下拉方法,去除模糊,一切都是為了應用更受使用者歡迎,iOS7之後半透明模糊效果得到大範圍使用的比較大,現在也可以看到很多應用區域性用到了圖片模糊效果,關於圖片實現高斯模糊效果有三種方式,CoreImage,GPUImag
Android 高斯模糊效果從319ms到3ms的優化實現
之前做過高斯模糊的的效果,不過依賴一個三方庫,今天看到了一篇文章,一個類檔案就能解決,感覺竊喜,分享給大家。 使用: Glide.with(getActivity()).load(mUser.avatarUrl).asBitmap().into(ne
圖片高斯模糊效果簡單優化
模糊背景現在已經很流行了,固定圖片的模糊可以讓設計師處理,那麼動態模糊,或者每個使用者個人主頁用自己頭像的圖片模糊做背景,這就需要我們程式設計師通過程式碼來實現了,實現的方案在github上已經有比較完善和得到大家公認的開源專案: Blurry 。前者主要通過
圖片處理的幾種演算法(毛玻璃效果,高斯模糊效果,舊時光效果,lomo效果,暖意效果)
毛玻璃效果:高斯模糊效果: //高斯模糊,毛玻璃 //低於Android4.2可以用Java原生程式碼實現。但是效率會低不少:這完全是一種妥協的方式,不推薦 public Bitmap fastblur(Context context, Bitmap sentBitma
Android也能流暢實現毛玻璃效果(高斯模糊)效果
前言 上圖就是我們在IOS裝置上經常能夠見到的毛玻璃(高斯模糊)效果。不得不說,這種效果在適合的場景下使用,能夠獲得絕佳的美感。但是鑑於Android裝置效能和相容性問題,我們通常很難在Android裝置上見到這種效果。 但這並不是IOS的專利效果,Android
圖片實現高斯模糊
最近在搞圖片的顯示,做了一個高斯模糊的效果,使用的是gitgub上寫好的效果, 效果圖如下, 1. (1)xml檔案: <?xml version="1.0" encoding="utf-8"?> <LinearLay
使用canvas實現區域性高斯模糊效果
這個功能目的是為了模糊一些人的臉部,一些文字資訊。主要用於使用者手動操作進行模糊。 實現的功能:本人實現了再pc端上面進行拖拽模糊。 實現思路: 首先載入圖片,然後再載入完成的回撥中,建立一個高斯模糊過的圖片畫布。 接著,繫結滑鼠的互動事件,在裡面獲取到在畫布
高斯模糊效果
高斯模糊可以實現模糊效果,可用於眩暈,場景動畫等效果 高斯模糊利用了卷積計算,把每個畫素和周圍的畫素混合 見程式碼實現 c#程式碼 ImageEffectBase using UnityEngine; namespace GameBase.Effe
iOS自帶實現高斯模糊效果
引 什麼叫高斯模糊效果,通俗地說,就是毛玻璃效果,從iOS 7以來,就頻繁地被設計使用,如果用得好,效果會顯得非常的好。我們來看一個例子: 圖中下面一小部分就是高斯模糊效果。要實現也很簡單,iOS自身就支援這種效果。 iOS 7 UIToolbar
【iOS】iOS下高斯模糊效果的實現
其實有很多種實現方式,但是沒必要了解那麼多,簡單實用就行,選取一種效能相對來說比較好的方式 效果圖如下(高斯0.1): 程式碼: 需要匯入 #import <Accelerate/Accelerate.h> UIImage *ima
高斯模糊效果實現方案及效能對比
高斯模糊實現方案探究 現在越來越多的app在背景圖中使用高斯模糊效果,如yahoo天氣,效果做得很炫。 這裡就用一個demo來談談它的不同實現方式及各自的優缺點。 1. RenderScript 談到高斯模糊,第一個想到的就是RenderScript。RenderScrip
CSS: filter: blur(); 實現高斯模糊效果,不可不知的細節優化
前言 在專案中,要實現如下的效果: 頁面頂部的設計稿,前面一個卡片式的輪播,後邊的背景(是橢圓的一部分)取前面的圖片,進行一個高斯模糊的處理。 開始 前面的輪播部分,使用了第三方的輪播外掛,非常好用,推薦給大家(地址)。輪播,不作為今天的主要內容,暫時簡單描述下,