使用此代码:
Drawable blankDrawable = context.getResources().getDrawable(image);
Bitmap blankBitmap=((BitmapDrawable)blankDrawable).getBitmap();
我得到一个按上下文密度缩放的位图,保留位图的物理大小(基于其 dpi 值)。例如,我有一个 405x500 位图 (dpi=96) 作为资源。但是当我将它加载到设备上时,我会得到一个密度为 240 的 608x750 图像。我想加载位图而不进行缩放。我该怎么做?
这个问题非常类似于:
How to create a Drawable from a stream without resizing it?
但是,在我的情况下不能使用该解决方案,因为我没有输入流。我只有一个资源 id,getDrawable() 方法没有密度参数。加载位图后,为时已晚 - 它已经调整大小。
谢谢。
最佳答案
使用这个
InputStream is = this.getResources().openRawResource(imageId);
Bitmap originalBitmap = BitmapFactory.decodeStream(is);
imageview.setImageBitmap(originalBitmap);
关于android - 如何在不调整大小的情况下从 res 加载位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619207/