Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > decodeResource создает битмап не того размера


Автор: AndreyK 24.11.2013, 18:58
Я как обычно загружаю картинку из ресурсов:
Код

    int bh=0;
    BitmapA1 = BitmapFactory.decodeResource(getResources(), R.drawable.a1);
    bh = BitmapA1.getHeight();

Размеры картинки 450 пикселей.
Но getHeight() для загруженной картинки возвращает размер равный 300.
Что это такое, почему все битмапки загружаемые из рессурсов на 1/3 меньшего размера получаются?

Это происходит только на планшетах, а на смартфонах все нормально.

Автор: alexmin 29.11.2013, 09:57
Приветствую, 
на эту тему надо почитать здесь:
http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

видимо дело в options.inScaled , оно по умолчанию true, его надо запретить

Код

BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;
options.inSampleSize = 1;
BitmapAl = BitmapFactory.decodeResource(getResources(), R.drawable.al, options);



Автор: AndreyK 4.12.2013, 15:09
Спасибо, попробую.
Я пока вышел из проблемы увеличением размеров картинок, чтоб это сжатие не отражалось на качестве.
У меня используются маленькие картинки заготовки для последующего масштабирования, которые я растягиваю на большой размер, но когда вместо заранее загруженной картинки 10x10 пикселов получаю 7x7 - это реально создаёт сбои алгоритма.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)