2011-09-30 4 views
0

지도에 수많은 아이콘을 그려 놓습니다. 사실 아이콘은 회전 된 동일한 이미지에서 가져옵니다. 그러나지도에서 이미지가 두 가지 크기로 표시됩니다. 이유는 모르겠습니다. http://orangesoftware.net/arrow18.pngAndroid, 18x18 픽셀 서클 아이콘 회전, 결과 : 크기가 다른 아이콘?

아이콘 회전 코드 : 감사

Matrix mtx = new Matrix(); 
mtx.postRotate(unit.heading); 
Bitmap bmp = BitmapFactory.decodeResource(getResources(), 
        R.drawable.arrow18); 
Bitmap rotatedBMP = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), 
         bmp.getHeight(), mtx, true); 
BitmapDrawable bmd = new BitmapDrawable(rotatedBMP); 

어떤 마술 통찰력을, 감사

답변

3

을 이미지 파일은 다음과 같습니다 http://orangesoftware.net/iconmap.png

:이 같은 결과는 모습입니다 크기 변화의 원인은 회전이 90 도의 배수가 아닌 경우입니다. bmp는 다이아몬드가되어서 그것을 잡고있는 ImageView 너머로 튀어 나와서 ImageView에 맞게 크기가 조정됩니다. 이 불일치를 처리하는 가장 쉬운 방법은 ImageView의 scaleType을 CENTER로 설정하는 것입니다. 이렇게하면 크기를 조정하지 않고 이미지를 가운데에 배치합니다.

+0

고마워요,하지만 ImageView가 없어요. 적어도 제가 아는 한 가지는 아닙니다 ... – Gerry

+1

왜 당신의 비트 맵을 가지고 있을까요? –

+0

android.graphics.drawable.Drawable – Gerry