마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

비트맵 겹치는 부분에 대한 의문이 생겨서 질문 올립니다.

+1 추천

안녕하세요. 

저는 지금 비트맵을 여러장 겹쳐서 한 이미지로 합성하는 작업을 진행하고 있습니다. 

캔버스에 투명 bitmap 이미지들을 계속 붙이는 방법으로 시도중인데 속도가 너무 느리네요.. 

 

혹시 최적화 방법이나.. 다른 방법이 있는지 궁금합니다.

 

혹시 모르니 코드를 첨부하도록 하곘습니다. 코드는 다음과 같습니다. 


 

int a= R.drawable.a;

int b= R.drawable.b;
int c= R.drawable.c;

final Integer[] arrays = {a,b,c};

for (int v : setArrays ) {
bitmapArray.add(v);
}

Bitmap map = BitmapFactory.decodeResource(getResources(), R.drawable.mapjpg);

image = (ImageView) findViewById(R.id.imageView);

Bitmap b = overlayMark(map, bitmapArray, 0, 0);
image.setImageBitmap(b);



// 이부분 참고하시면 될거 같습니다.
private Bitmap overlayMark(Bitmap baseBmp, final ArrayList<Integer> array, int distanceLeft, int distanceTop) {

        Bitmap resultBmp = Bitmap.createBitmap(
                baseBmp.getWidth() + distanceLeft,
                baseBmp.getHeight() + distanceTop,
                baseBmp.getConfig());

        final Canvas canvas = new Canvas(resultBmp);
        canvas.drawBitmap(baseBmp, distanceLeft, distanceTop, null);

        for (int i : array) {
            canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), i), 0, 0, null);
        }

       return resultBmp;
}

 

pilsogood (130 포인트) 님이 2015년 7월 17일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...