2011-09-30 31 views
0

我在地图上画了一堆图标。其实这些图标来自旋转的相同图像。但在地图上,图像呈现两种不同的尺寸,我不知道为什么。这是结果看起来是这样的:http://orangesoftware.net/iconmap.pngAndroid,旋转18x18像素的圆圈图标,结果:不同大小的图标?

图像文件看起来是这样的:http://orangesoftware.net/arrow18.png

旋转图标代码:

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

的尺寸变化的原因是当旋转不是90度的倍数时。 bmp变成了一个钻石,它的角落突出于ImageView之外,因此它被调整大小以适应ImageView。 处理这种差异的最简单方法是将ImageView的scaleType设置为CENTER。这将简单地将图像居中放置而不缩放以适合。

+0

谢谢,但我没有ImageView,至少没有一个我知道的... – Gerry

+1

什么是你的位图? –

+0

android.graphics.drawable.Drawable – Gerry