Android,旋转18x18像素圆圈图标,结果:不同大小的图标?

时间:2011-09-30 16:36:44

标签: android image-processing android-mapview

我在地图上画了一堆图标。实际上图标来自旋转的相同图像。但是在地图上,图像有两种不同的尺寸,我不知道为什么。这就是结果:http://orangesoftware.net/iconmap.png

图像文件如下所示: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);

任何神奇的见解表示赞赏,谢谢

1 个答案:

答案 0 :(得分:3)

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