我有一个奇怪的问题,其中结合使用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()设置背景图像时,为什么它会以较小的比例显示?
最佳答案
我解决了问题
tempCanvas.setDensity(Bitmap.DENSITY_NONE);