我的 /res/drawable/
目录中有一张 120x120px 的图片。这是所有设备所需的大小。
要加载此位图,我使用以下内容:
Bitmap tmpBmp = BitmapFactory.decodeResource(getResources(), R.drawable.myimage);
问题是当我测量 tmpBmp
时,尺寸是 360x360px。我知道如何将其缩小到我需要的 120x120,但这是浪费处理时间,尽管时间很短。
我假设这与屏幕密度有关,因为我的资源位于密度较低的目录中。
decodeResource
缩放图像的原因是什么?我该如何阻止它这样做?
最佳答案
默认的 drawable
目录假定图像需要从默认的 mdpi
大小缩放。如果您想禁用资源缩放,请将您的图像放在 drawable-nodpi
中。
请注意,与 mdpi 设备相比,120x120px 的图像如果显示在屏幕上,在 xxhdpi 设备上会小 3 倍(因为每英寸像素数是其三倍)。
关于android - 为什么 BitmapFactory.decodeResource 会缩放我的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46144127/