为什么 BitmapFactory 将我的图像缩小 1.333 倍而不是 2 倍?

Why does BitmapFactory scale down my image by a factor of 1.333 instead of 2?

我有一个尺寸为 2236x971 像素的 PNG 图像文件作为资源。 我想将它缩小两倍(缩小一半)。但是,当我使用此代码时:

BitmapFactory.Options bo = new BitmapFactory.Options();
bo.inSampleSize = 2;
Bitmap decodedBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image, bo);

decodedBitmap.getWidth()decodedBitmap.getHeight() 显示宽度:1677,height:728 → 尺寸仅减少 25%,而不是预期的 50%。为什么?

我是运行API19号的代码

原因是,您的资源是根据您的屏幕指标加载的。将您的图像放入 drawable-nodpi 文件夹或打开一个输入流到您的资源并解码该输入流。