我在画布上用loadBitmap函数来获取位图,但是里面的位图位置不对,我想了很久,还是找不到原因。点在dp中由layout_marignLeft和layout_marinTop在layout.xml中设置。下面是代码。
public Bitmap loadBitmap() {
Bitmap b = BitmapFactory.decodeResource(mContext.getResources(),bg)
.copy(Bitmap.Config.ARGB_8888, true);
if (null == ids ||null == points || ids.size() != points.size())
return b;
Canvas c = new Canvas(b);
for (int i = 0; i < ids.size(); i++) {
Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), ids.get(i));
c.drawBitmap(bitmap, dpToPx(points.get(i).x), dpToPx(points.get(i).y), null);
bitmap.recycle();
}
c.save(Canvas.ALL_SAVE_FLAG);
c.restore();
return b;
}
public float dpToPx(float x) {
return mContext.getResources().getDisplayMetrics().density * x;
}发布于 2016-01-30 18:39:27
是您正在使用的具有填充的图像。如果图像有一些额外的alpha边界,那么您的计算可能会出错。
发布于 2016-01-31 01:41:41
这个问题与视图和画布无关,我想让应用程序全屏显示,但是平板电脑有导航栏,导致布局不全屏,而且margin_left和margin_right的参数完全是wrong.When我隐藏导航栏,ok.Here是隐藏导航栏的方法。Android tablet navigation bar won't hide
https://stackoverflow.com/questions/35100519
复制相似问题