티스토리 뷰
원리는 간단하다.
원본 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; } |
'개발 > 개발 자료' 카테고리의 다른 글
[iPhone] HTTP Request/Response Wrapper 클래스 만들기 (0) | 2014.01.20 |
---|---|
(ios7) 소스에서 화면 전환하기 (0) | 2014.01.16 |
Can't create handler inside thread that has not called Looper.prepare() 에러발생시 해결방법 (0) | 2014.01.03 |
(Android) 안드로이드 이미지 파일 Bitmap으로 읽기 (화면 사이즈에 맞게 리스케일) (0) | 2014.01.01 |
(Android) 이미지 용량 줄이기 (Bitmap 관리) (4) | 2014.01.01 |
댓글