位图对象的绝对大小不正确

时间:2014-11-21 13:06:08

标签: android bitmap android-bitmap

我想绘制一个直径为1英寸的圆,与屏幕分辨率,密度等无关。这似乎适用于我的许多测试设备,但不适用于Nexus 7.

Bitmap bm = Bitmap.createBitmap(512,512, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bm);
//-- bm.getDensity() gives 213dpi for Nexus 7
//-- canvas.getDensity() gives 213dpi for Nexus 7
//-- so I set the radius to 213/2, so that the circle will be 1 inch

radiusPixels = bm.getDensity()/2f;
canvas.drawCircle(someX, someY, radiusPixels ,mPaint);

但是这在我的Nexus 7上给了一个大约5/8英寸的圆圈,在我的Note 2上只有1英寸。

我也可以使用

radiusPixels = getResources().getDimension(R.dimen.oneHalfInch); //-- <dimen name="oneHalfInch">0.5in</dimen>
canvas.drawCircle(someX, someY, radiusPixels ,mPaint);

我得到相同的5/8英寸圆圈。

有什么想法吗?

0 个答案:

没有答案