android中圓角圖像生成方法
本文實(shí)例講述了android中圓角圖像生成方法。分享給大家供大家參考。具體分析如下:
在android開(kāi)發(fā)中為了美觀,常常要求ImageView中顯示出圓角圖像的效果,這個(gè)如何實(shí)現(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;
}
附上一張效果圖:

這個(gè)方法沒(méi)有一點(diǎn)問(wèn)題,但是,如果加載的圖像過(guò)大的話,這種方法需要耗時(shí),這樣對(duì)于大量的ImageView而言,刷新就會(huì)出現(xiàn)卡頓或者閃爍的問(wèn)題了,如何解決這個(gè)問(wèn)題呢?
我覺(jué)得,如果是這樣,那么我們只能舍棄這種方法,退而求其次,我們夠建兩層ImageView,第一層是原始方角圖像A,第二層是一個(gè)特殊的資源圖B,它的大小與原圖一樣,我們假設(shè)A按照上面的方法得到的圓角圖像為C,那么定義圖像T=A-C,然后我們把T改為我們需要的背景顏色,這樣B=T(背景色),最后的效果就是A在下面,B在上面,四個(gè)角是圓角效果,方角圖像被覆蓋在了B下面了。這樣做就省去了直接圖像處理所造成的耗時(shí)問(wèn)題。但是,如果是圖像大小較小,數(shù)量不大的情況下, 本人還是建議使用第一種方法,畢竟原版的效果好,盜版還是盜版啊呵呵!
希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。
- android圖像繪制(七)ClipRect局部繪圖/切割原圖繪制總結(jié)
- Android開(kāi)發(fā)技巧之像QQ一樣輸入文字和表情圖像
- Android圖片處理:識(shí)別圖像方向并顯示實(shí)例教程
- Android開(kāi)發(fā)之圖形圖像與動(dòng)畫(huà)(三)Animation效果的XML實(shí)現(xiàn)
- Android處理圖像數(shù)據(jù)轉(zhuǎn)換的各種方法
- Android中將View的內(nèi)容保存為圖像的簡(jiǎn)單實(shí)例
- android打開(kāi)本地圖像的方法
- android中圖形圖像處理之drawable用法分析
- Android程序開(kāi)發(fā)如何處理圖像格式類及圖像轉(zhuǎn)換
- Android編程開(kāi)發(fā)之EditText實(shí)現(xiàn)輸入QQ表情圖像的方法
- Android編程滑動(dòng)效果之Gallery仿圖像集瀏覽實(shí)現(xiàn)方法
- Android裁剪圖像實(shí)現(xiàn)方法示例
相關(guān)文章
Android動(dòng)態(tài)更換應(yīng)用圖標(biāo)詳情
這篇文章主要介紹了Android動(dòng)態(tài)更換應(yīng)用圖標(biāo)詳情,文章圍繞主題展開(kāi)詳細(xì)的介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
利用Jetpack?Compose復(fù)刻游戲Flappy?Bird
Flappy?Bird是13年紅極一時(shí)的小游戲,其簡(jiǎn)單有趣的玩法和變態(tài)的難度形成了強(qiáng)烈反差,引發(fā)全球玩家競(jìng)相把玩!本文將通過(guò)Jetpack?Compose復(fù)刻這一游戲,感興趣的小伙伴可以了解一下2022-02-02
關(guān)于android studio升級(jí)4.1 某些插件使用不了的問(wèn)題(Mac)
這篇文章主要介紹了關(guān)于android studio升級(jí)4.1 某些插件使用不了的問(wèn)題(Mac),本文給大家分享解決方法供大家參考,感興趣的朋友跟隨小編一起看看吧2020-10-10
android創(chuàng)建數(shù)據(jù)庫(kù)(SQLite)保存圖片示例
這篇文章主要介紹了android創(chuàng)建數(shù)據(jù)庫(kù),保存圖片到數(shù)據(jù)庫(kù)再?gòu)臄?shù)據(jù)庫(kù)取圖片的方法,大家參考使用吧2014-01-01
Android優(yōu)化提升應(yīng)用啟動(dòng)速度及Splash頁(yè)面的設(shè)計(jì)
這篇文章主要介紹了Android性能優(yōu)化的一些相關(guān)資料,文章圍繞提升應(yīng)用啟動(dòng)速度及Splash頁(yè)面的設(shè)計(jì)的內(nèi)容展開(kāi)介紹,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-12-12
Android仿微信列表滑動(dòng)刪除 如何實(shí)現(xiàn)滑動(dòng)列表SwipeListView
這篇文章主要為大家詳細(xì)介紹了Android仿微信列表滑動(dòng)刪除,如何實(shí)現(xiàn)滑動(dòng)列表SwipeListView,感興趣的小伙伴們可以參考一下2016-08-08

