Как рассчитать размер растрового пикселя в Android

1

Я загрузил изображение с разрешением 640 x 480 (в пикселях) jpg из res, используя битмап.

bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bmp);

Но я обнаружил:

  • значение bitmap.getWitdh() равно 1280;
  • значение bitmap.getHeight() равно 960;
  • значение bitmap.getRowBytes() равно 2560;

Зачем?

  • 0
    проверьте свой мегапиксельный размер
Теги:
pixel
bitmap

2 ответа

3
Лучший ответ

Это зависит от вашего мобильного телефона. Поскольку андроид поддерживает несколько экранов, чтобы позволить растровому изображению одинаково масштабироваться на разных экранах, оригинальное растровое изображение сохраняется для того, чтобы соответствовать плотности вашего экрана. Учитывая ценность, которую вы опубликовали, кажется, что ваш мобильный телефон имеет экран xdpi. Вероятно, getHeight() и getWidth вернут вам 480 и 640, если ваш мобильный телефон был mdpi. См. Здесь для получения дополнительной информации

2

Это происходит из-за того, что вы не укажете BitmapFactory.Options, в частности inTargetDensity. decodeResource(Resources, resId, BitmapFactory.Options) попробуйте использовать decodeResource(Resources, resId, BitmapFactory.Options).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню