Android,旋转18x18像素的圆圈图标,结果:不同大小的图标?
问题描述:
我在地图上画了一堆图标。其实这些图标来自旋转的相同图像。但在地图上,图像呈现两种不同的尺寸,我不知道为什么。这是结果看起来是这样的: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);
任何神奇的见解赞赏,感谢
答
的尺寸变化的原因是当旋转不是90度的倍数时。 bmp变成了一个钻石,它的角落突出于ImageView之外,因此它被调整大小以适应ImageView。 处理这种差异的最简单方法是将ImageView的scaleType设置为CENTER。这将简单地将图像居中放置而不缩放以适合。
谢谢,但我没有ImageView,至少没有一个我知道的... – Gerry
什么是你的位图? –
android.graphics.drawable.Drawable – Gerry