如何将位图图像转换为 Drawable ?
试试这个,它将 Bitmap
类型的图像转换为 Drawable
Drawable d = new BitmapDrawable(getResources(), bitmap);
听起来您想使用 BitmapDrawable
从文档中:
包装位图并且可以平铺、拉伸或对齐的 Drawable。您可以从文件路径、输入流、通过 XML 扩展或从 Bitmap 对象创建 BitmapDrawable。
看到大量位图在转换为 BitmapDrawable
时缩放不正确的问题,一般的转换方法应该是:
Drawable d = new BitmapDrawable(getResources(), bitmap);
如果没有 Resources reference
,即使正确缩放,bitmap
也可能无法正确呈现。这里有许多问题,只需使用此方法即可解决,而不是仅使用 bitmap
参数直接调用。
官方 Bitmapdrawable documentation
这是有关如何转换 bitmap to drawable 的示例
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
我与上下文一起使用
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
如果你有一个位图图像并且你想在drawable中使用它,比如
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
1) 位图到 Drawable :
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
// mImageView.setDrawable(mDrawable);
2)可绘制到位图:
Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);
只需这样做:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
这是另一个:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
使用代码在草图软件应用程序中将位图隐藏为可绘制
android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
对于 Kotlin 用户:
Kotlin 有一个将 Bitmap
转换为 BitmapDrawable
的函数:
Bitmap.toDrawable(resources)