如何在android中将Bitmap转换为Drawable?

发布于 2024-08-24 17:57:45 字数 36 浏览 7 评论 0原文

如何将 Bitmap 图像转换为 Drawable 图像?

How can I convert a Bitmap image to Drawable ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

晚风撩人 2024-08-31 17:57:45

试试这个,它会将 Bitmap 类型图像转换为 Drawable

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

Try this it converts a Bitmap type image to Drawable

Drawable d = new BitmapDrawable(getResources(), bitmap);
栩栩如生 2024-08-31 17:57:45

听起来你想使用 BitmapDrawable

从文档中:

一个Drawable,它包装了位图并且可以
平铺、拉伸或对齐。你
可以从创建一个 BitmapDrawable
文件路径,输入流,通过
XML 膨胀,或来自位图
对象。

Sounds like you want to use BitmapDrawable

From the documentation:

A Drawable that wraps a bitmap and can
be tiled, stretched, or aligned. You
can create a BitmapDrawable from a
file path, an input stream, through
XML inflation, or from a Bitmap
object.

你穿错了嫁妆 2024-08-31 17:57:45

看到大量位图在转换为 BitmapDrawable 时缩放不正确的问题,一般的转换方法应该是:

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

没有 Resources 引用位图<即使正确缩放, /code> 也可能无法正确渲染。这里有很多问题,只需使用此方法即可解决,而不是仅使用位图参数直接调用。

Having seen a large amount of issues with bitmaps incorrectly scaling when converted to a BitmapDrawable, the general way to convert should be:

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

Without the Resources reference, the bitmap may not render properly, even when scaled correctly. There are numerous questions on here which would be solved simply by using this method rather than a straight call with only the bitmap argument.

是伱的 2024-08-31 17:57:45

官方 Bitmapdrawable 文档

这是有关如何转换 位图到可绘制

Bitmap bitmap;  
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);

Offical Bitmapdrawable documentation

This is sample on how to convert bitmap to drawable

Bitmap bitmap;  
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
晚雾 2024-08-31 17:57:45

我与上下文一起使用

//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);

I used with context

//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
佼人 2024-08-31 17:57:45

1) 位图到可绘制对象:

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

2) 可绘制对象到位图:

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

1) bitmap to Drawable :

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

2) drawable to Bitmap :

Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);
不气馁 2024-08-31 17:57:45

如果您有位图图像并且想在可绘制中使用它,例如

Bitmap contact_pic;    //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic); 

If you have a bitmap image and you want to use it in drawable, like

Bitmap contact_pic;    //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic); 
此刻的回忆 2024-08-31 17:57:45

只需这样做:

private void setImg(ImageView mImageView, Bitmap bitmap) {

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

Just do this:

private void setImg(ImageView mImageView, Bitmap bitmap) {

    Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
    mImageView.setDrawable(mDrawable);
}
弃爱 2024-08-31 17:57:45

这是另一个:

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

here's another one:

Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
离线来电— 2024-08-31 17:57:45

对于 Kotlin 用户:

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

Bitmap.toDrawable(resources)

For Kotlin users:

Kotlin has a function for converting Bitmap to BitmapDrawable:

Bitmap.toDrawable(resources)

叶落知秋 2024-08-31 17:57:45

使用直接块在 Sketchware 应用程序中将位图转换为可绘制对象

    android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);

convert Bitmap To Drawable in Sketchware app using direct block

    android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文