티스토리 뷰


원리는 간단하다.

원본 Bitmap 이미지와 동일한 크기의 Bitmap 객체를 생성한다.

그리고 생성한 Bitmap 객체에 캔버스를 연결한 후 캔버스에 둥근 테두리의 사각형을 그린다.

그리고 그 사각형 영역에 원본 Bitmap을 투과시키는 것이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static Bitmap setRoundCorner(Bitmap bitmap, int pixel) {
    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),
                            Config.ARGB_8888);
    Canvas canvas = new Canvas(output);
         
    int color = 0xff424242;
    Paint paint = new Paint();
    Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
    RectF rectF = new RectF(rect);
         
    paint.setAntiAlias(true);
    paint.setColor(color);
    canvas.drawARGB(0, 0, 0, 0);
    canvas.drawRoundRect(rectF, pixel, pixel, paint);
         
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bitmap, rect, rect, paint);
         
    return output;
}


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함