2015-11-24 2 views
1

Я пытаюсь создать эскиз сформировать ресурс изображения, используя метод:extractThumbnail генерировать ошибку конфигурации неизвестно растровый

ThumbnailUtils.extractThumbnail(Bitmap src, int width, int height); 

Но когда я делаю это, я получаю ошибку:

java.lang.IllegalArgumentException: unknown bitmap configuration 

Вот мой код:

// get a scaled down version of the image resource, to avoid loading 
// the full image into memory 
Bitmap im1 = decodeSampledBitmapFromResource(context.getResources(), 
       R.drawable.im1, 
       R.dimen.thumbnail_width, 
       R.dimen.thumbnail_height); 

Bitmap thumbnail = ThumbnailUtils.extractThumbnail(im1, 
        R.dimen.thumbnail_width, 
        R.dimen.thumbnail_height); 

holder.picture.setImageBitmap(thumbnail); 

ошибка появляется в строке, где метод extractThumbnail называется.

decodeSampledBitmapFromResource Метод является одним описано здесь: https://developer.android.com/intl/es/training/displaying-bitmaps/load-bitmap.html

Изображение представляет собой "JPEG" изображение размером 680x1024, взвешивание 183Ko.

Я попытался вместо того, чтобы использовать метод:

Bitmap.createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter); 

Но я получаю ту же ошибку.

ответ

2

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

int height = (int)context.getResources().getDimension(R.dimen.thumbnail_height); 
int width = (int)context.getResources().getDimension(R.dimen.thumbnail_width); 

и измените свой код так, чтобы быть таким.

// get a scaled down version of the image resource, to avoid loading 
// the full image into memory 
Bitmap im1 = decodeSampledBitmapFromResource(context.getResources(), 
       R.drawable.im1, 
       width, 
       height); 

Bitmap thumbnail = ThumbnailUtils.extractThumbnail(im1, 
        width, 
        height); 
Смежные вопросы