я пытаюсь загрузить Jpeg ресурсы изображения в растровом изображение формата ARGB_8888:BitmapFactory.decodeResource() игнорирует опцию inPreferredConfig для JPG изображений
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap b = BitmapFactory.decodeResource(resources, resId, opts);
Log.d("test", b.getConfig().toString());
Здесь RESID является идентификатором ресурса изображения JPEG. И выход «RGB_565». Пробовал это в эмуляторах Android 2.2 и 2.3.
Docs из «» inPreferredConfig говорят:
Если это не нулевой, то декодер будет пытаться декодировать в этой внутренней конфигурации. Если он равен нулю или запрос не может быть удовлетворен, декодер попытается выбрать наилучшую конфигурацию соответствия, основанную на глубине экрана системы , и характеристики исходного изображения, такие как , как если бы он имел пиксель альфа (требуется config, который также делает). Изображение загружается конфигурацией ARGB_8888 по умолчанию.
Так я ударяя случай «запрос не может быть удовлетворены»? :) Но я честно не вижу, как очень сложно декодировать RGB_565 в ARGB_8888.
Так что я подумал, что я делаю неправильно, или это ошибка в Android ...
Имея тот же вопрос. Решено еще? – tofi9
Нет, не решил. IIRC Мне пришлось использовать png вместо jpg ... – dimsuz
Я узнал, что моя проблема была моей ошибкой. Растровое изображение не загружается в RGB_565. Он преобразуется во время, когда я пытаюсь его повернуть («Bitmap.createBitmap (растровое изображение, 0, 0, ширина, высота, матрица, истина)») – tofi9