BitmapFactory.decodeResource 无效 API > 19
BitmapFactory.decodeResource is not working API > 19
我试图从文件夹 /drawable 中获取图像,但当 api > 19 时我收到空值。有人知道问题出在哪里吗?
我使用的所有图像都是矢量图。
dog.setImagen(BitmapFactory.decodeResource(getResources(), R.drawable.dog));
提前致谢
试试这个
Bitmap bm = ((BitmapDrawable) getResources().getDrawable(R.drawable.dog)).getBitmap();
dog.setImagen(bm);
我已经用这段代码解决了我的问题。
private Bitmap getBitmap(Drawable vectorDrawable) {
Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(),
vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
vectorDrawable.draw(canvas);
return bitmap;
}
谢谢大家!
我试图从文件夹 /drawable 中获取图像,但当 api > 19 时我收到空值。有人知道问题出在哪里吗?
我使用的所有图像都是矢量图。
dog.setImagen(BitmapFactory.decodeResource(getResources(), R.drawable.dog));
提前致谢
试试这个
Bitmap bm = ((BitmapDrawable) getResources().getDrawable(R.drawable.dog)).getBitmap();
dog.setImagen(bm);
我已经用这段代码解决了我的问题。
private Bitmap getBitmap(Drawable vectorDrawable) {
Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(),
vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
vectorDrawable.draw(canvas);
return bitmap;
}
谢谢大家!