구글 마커에 이미지를 넣는 방법이다.
대충 이미지가 아래와 같다.
이런 마커에 하얀색 부분에 동그란 이미지를 넣는 방법이다.
일단 이미지를 동그랗게 만든다.
public static Bitmap getCroppedBitmap(Bitmap bitmap) {
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);
return output;
}
동그랗게 만든 이미지를 마커 이미지랑 합친다.
public static Bitmap sumImage(Context ctx, Bitmap baseBmp, Bitmap overl) {
Bitmap resultBmp = Bitmap.createBitmap(baseBmp.getWidth(),
baseBmp.getHeight(),
baseBmp.getConfig());
int scaleSize = (int) ((double) baseBmp.getWidth() * 0.54);
Bitmap resized = Bitmap.createScaledBitmap(overl, 픽셀로 높이를 준다. 픽셀로 높이를 준다, true);
int left_dist = (int) ((double) baseBmp.getWidth() * 0.24);
int top_dist = (int) ((double) baseBmp.getHeight() * 0.07);
Canvas canvas = new Canvas(resultBmp);
canvas.drawBitmap(baseBmp, 0, 0, null);
canvas.drawBitmap(resized, 얼마나 띄울지 픽셀로 준다, 얼마나 띄울지 픽셀로 준다, null);
return resultBmp;
}
이렇게 하여 합쳐진 이미지를 마커에 넣어주면 된다.
.icon(BitmapDescriptorFactory.fromBitmap(bitmap)
'프로그램 > Android' 카테고리의 다른 글
안드로이드 Download Manager (0) | 2016.09.07 |
---|---|
java.lang.UnsatisfiedLinkError 와 안드로이드 라이브러리 추가 등등... (0) | 2016.06.22 |
안드로이드 그래프 이미지 돌리기 (0) | 2016.02.19 |
String.xml 포맷팅 및 필요한 사항들.... (0) | 2016.02.19 |
Dialog에서 백버튼 클릭시 and 키보드 제어 (0) | 2016.02.19 |