extractThumbnail 生成未知位图配置错误
extractThumbnail generate unknown bitmap configuration error
我正在尝试使用以下方法从图像资源生成缩略图:
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);
但是我得到了同样的错误。
您可能会遇到问题,因为您传递的是资源的 ID,而不是这些 ID 代表的实际值。尝试添加
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);
我正在尝试使用以下方法从图像资源生成缩略图:
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);
但是我得到了同样的错误。
您可能会遇到问题,因为您传递的是资源的 ID,而不是这些 ID 代表的实际值。尝试添加
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);