Почему BitmapFactory уменьшает мое изображение в 1,333 раза вместо 2?

У меня есть файл изображения PNG с размерами 2236x971px в качестве ресурса. Я хочу уменьшить его в два раза (до половины). Тем не менее, когда я использую этот код:

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

decodedBitmap.getWidth() а также decodedBitmap.getHeight() ширина показа: 1677, высота:728 → Уменьшение размера только на 25% вместо ожидаемых 50%. Почему это так?

Я бегу код на API 19.

1 ответ

Решение

Причина в том, что ваш ресурс загружается в соответствии с вашими показателями экрана. Поместите свое изображение в drawable-nodpi Папка или открыть входной поток для вашего ресурса и декодировать этот входной поток.

Другие вопросы по тегам