如何将位图图像转换为可绘制?


当前回答

对于Kotlin用户:

Kotlin有一个转换Bitmap到BitmapDrawable的函数:

Bitmap.toDrawable(资源)

其他回答

这是另一个:

Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);

已经看到了大量的问题与位图不正确缩放时,转换为BitmapDrawable,一般的转换方式应该是:

Drawable d = new BitmapDrawable(getResources(), bitmap);

如果没有资源引用,位图可能无法正确呈现,即使缩放正确。这里有许多问题可以通过使用这个方法而不是直接调用位图参数来解决。

1)位图到可绘制:

Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
// mImageView.setDrawable(mDrawable);

2)可绘制位图:

Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);

尝试一下,它将位图类型的图像转换为可绘制

Drawable d = new BitmapDrawable(getResources(), bitmap);

听起来你想要使用BitmapDrawable

从文档中可以看到:

一个包装位图和罐头的Drawable 平铺、拉伸或对齐。你 可以创建一个BitmapDrawable 文件路径,一个输入流,通过 XML膨胀,或从位图 对象。