正方形の角丸を作ってみる。

ImageViewとかで使いたい時によくよく調べるとBitmapを角丸にすればいいです。

って事が多いのだけど、Bitmap →Bitmapで角丸にしてくれたら楽だなーと思って、関数を書いてみました。

public Bitmap RadiusImage(Bitmap bm){
    int width  = bm.getWidth();
    int height = bm.getHeight();
    int size = Math.min(width, height);
    Bitmap clipArea = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(clipArea);
    c.drawRoundRect(new RectF(0, 0, size, size), size/10, size/10, new Paint(Paint.ANTI_ALIAS_FLAG));
    Bitmap newImage = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(newImage);
    Paint paint = new Paint();
    canvas.drawBitmap(clipArea, 0, 0, paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bm, new Rect(0, 0, size, size), new Rect(0, 0, size, size), paint);
    return newImage;
}

で使い方は簡単で、

Bitmap nbm = RadiusImage(oldbm);

で角丸のビットマップを生成。

画像を切り抜いて正方形にしてしまっているのであしからず。

参考:Androidでリソースの画像を角丸に変換するやり方メモ

 

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑