Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android中圓角圖像生成方法

android中圓角圖像生成方法

編輯:關於Android編程

本文實例講述了android中圓角圖像生成方法。分享給大家供大家參考。具體分析如下:

在android開發中為了美觀,常常要求ImageView中顯示出圓角圖像的效果,這個如何實現?

這裡總結了網上的最優方法:將圖像處理成圓角,然後在加載給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而言,刷新就會出現卡頓或者閃爍的問題了,如何解決這個問題呢?

我覺得,如果是這樣,那麼我們只能捨棄這種方法,退而求其次,我們夠建兩層ImageView,第一層是原始方角圖像A,第二層是一個特殊的資源圖B,它的大小與原圖一樣,我們假設A按照上面的方法得到的圓角圖像為C,那麼定義圖像T=A-C,然後我們把T改為我們需要的背景顏色,這樣B=T(背景色),最後的效果就是A在下面,B在上面,四個角是圓角效果,方角圖像被覆蓋在了B下面了。這樣做就省去了直接圖像處理所造成的耗時問題。但是,如果是圖像大小較小,數量不大的情況下, 本人還是建議使用第一種方法,畢竟原版的效果好,盜版還是盜版啊呵呵!

希望本文所述對大家的Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved