我有一个奇怪的问题,使用 drawBitmap 和 setBackgroundDrawable 的组合使我的图像看起来比实际小 2 倍。
下面是我创建新位图和画布的代码。然后它在画布上绘制位图并将新位图作为现有布局的背景。我必须使用这种方法,因为稍后我将操作画布。
Bitmap left = BitmapFactory.decodeResource(getResources(), resID);
// Create a temporary bitmap
Bitmap tempBitmap = Bitmap.createBitmap(
left.getWidth(),
left.getHeight(),
Bitmap.Config.ARGB_8888);
Canvas tempCanvas = new Canvas(tempBitmap);
//Draw bitmap on canvas
tempCanvas.drawBitmap(left, 0, 0, null);
background.setBackgroundDrawable(tempBitmap);
我尝试使用tempCanvas.scale(2, 2);
,这确实将“像素”缩放回正常,但它不会缩放矩形。
如果我使用background.setBackgroundResource(resID);
背景图像以正确的大小显示,这排除了我的 MDPI/HDPI/XHDPI 文件夹的任何问题。
为什么我的背景图像在设置时以较小的比例显示setBackgroundDrawable()
?