android中圓角圖像生成方法
本文實例講述了android中圓角圖像生成方法。分享給大家供大家參考。具體分析如下:
在android開發(fā)中為了美觀,常常要求ImageView中顯示出圓角圖像的效果,這個如何實現(xiàn)?
這里總結(jié)了網(wǎng)上的最優(yōu)方法:將圖像處理成圓角,然后在加載給ImageView顯示,代碼如下:
public Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0,0,bitmap.getWidth(),bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, pixels, pixels, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
附上一張效果圖:

這個方法沒有一點問題,但是,如果加載的圖像過大的話,這種方法需要耗時,這樣對于大量的ImageView而言,刷新就會出現(xiàn)卡頓或者閃爍的問題了,如何解決這個問題呢?
我覺得,如果是這樣,那么我們只能舍棄這種方法,退而求其次,我們夠建兩層ImageView,第一層是原始方角圖像A,第二層是一個特殊的資源圖B,它的大小與原圖一樣,我們假設(shè)A按照上面的方法得到的圓角圖像為C,那么定義圖像T=A-C,然后我們把T改為我們需要的背景顏色,這樣B=T(背景色),最后的效果就是A在下面,B在上面,四個角是圓角效果,方角圖像被覆蓋在了B下面了。這樣做就省去了直接圖像處理所造成的耗時問題。但是,如果是圖像大小較小,數(shù)量不大的情況下, 本人還是建議使用第一種方法,畢竟原版的效果好,盜版還是盜版啊呵呵!
希望本文所述對大家的Android程序設(shè)計有所幫助。
- android圖像繪制(七)ClipRect局部繪圖/切割原圖繪制總結(jié)
- Android開發(fā)技巧之像QQ一樣輸入文字和表情圖像
- Android圖片處理:識別圖像方向并顯示實例教程
- Android開發(fā)之圖形圖像與動畫(三)Animation效果的XML實現(xiàn)
- Android處理圖像數(shù)據(jù)轉(zhuǎn)換的各種方法
- Android中將View的內(nèi)容保存為圖像的簡單實例
- android打開本地圖像的方法
- android中圖形圖像處理之drawable用法分析
- Android程序開發(fā)如何處理圖像格式類及圖像轉(zhuǎn)換
- Android編程開發(fā)之EditText實現(xiàn)輸入QQ表情圖像的方法
- Android編程滑動效果之Gallery仿圖像集瀏覽實現(xiàn)方法
- Android裁剪圖像實現(xiàn)方法示例
相關(guān)文章
Android實現(xiàn)Flip翻轉(zhuǎn)動畫效果
這篇文章主要介紹了Android實現(xiàn)Flip翻轉(zhuǎn)動畫效果,對Android程序設(shè)計人員有很好的參考借鑒價值,需要的朋友可以參考下2014-08-08
Android利用Fragment實現(xiàn)Tab選項卡效果
這篇文章主要為大家詳細(xì)介紹了Android利用Fragment實現(xiàn)Tab選項卡效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08
Flutter開發(fā)之支持放大鏡的輸入框功能實現(xiàn)
在Flutter開發(fā)時,有時為了優(yōu)化用戶輸入體驗,往往會需要輸入框支持在移動光標(biāo)過程中可以出現(xiàn)放大鏡功能。本文將為大家介紹實現(xiàn)的方法,需要的可以參考一下2022-02-02
Android ActionBarActivity設(shè)置全屏無標(biāo)題的方法總結(jié)
這篇文章主要介紹了Android ActionBarActivity設(shè)置全屏無標(biāo)題的相關(guān)資料,需要的朋友可以參考下2017-07-07
Android LaunchMode四種啟動模式詳細(xì)介紹
這篇文章主要介紹了Android LaunchMode四種啟動模式詳細(xì)介紹的相關(guān)資料,這里對launchmode的使用方法進(jìn)行了詳解及啟動模式的比較,需要的朋友可以參考下2016-12-12
Android中使用開源框架eventbus3.0實現(xiàn)fragment之間的通信交互
本文主要介紹了Android中使用開源框架eventbus3.0實現(xiàn)fragment之間的通信交互的方法,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02

