Code
public static Bitmap getBitmapCircleCrop(Bitmap bitmap, int Width, int Height) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.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());
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2,
bitmap.getWidth()/2, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
Bitmap CroppedBitmap = output;
if(Width!=0 && Height!=0) CroppedBitmap = Bitmap.createScaledBitmap(output, Width, Height, false);
return CroppedBitmap;
}
- Bitmap 이미지를 원형으로 만들어 출력해준다
- 원형 Bitmap 이미지를 파일로 저장하거나, 아이콘으로 사용
- 이미지 모양이 아이콘에 맞지 않거나 원형아이콘을 사용하고 있다면 사용
- Ex)Notification, Shortcuts, 혹은 원형이미지에 많이 사용
Reference
'Android > Android Java' 카테고리의 다른 글
[Android Java] File 삭제, Cache 삭제 (1) | 2023.11.03 |
---|---|
[Android Java] Bitmap을 PNG 파일로 Cash 저장하기 (0) | 2023.11.02 |
[Android Java] Bitmap을 Drawable로, Drawable을 Bitmap으로 변환 (2) | 2023.11.02 |
[Android Java] Bitmap, Canvas, Paint, Drawable 이란? (0) | 2023.11.02 |
[Android Java] Rect 좌표계 (0) | 2023.11.01 |