如何将位图图像转换为 Drawable ?
问问题
375269 次
12 回答
870
试试这个它将Bitmap
类型图像转换为Drawable
Drawable d = new BitmapDrawable(getResources(), bitmap);
于 2010-12-30T07:04:40.700 回答
279
听起来你想使用BitmapDrawable
从文档中:
Drawable
包装位图并且可以平铺、拉伸或对齐的A。您可以BitmapDrawable
从文件路径、输入流、通过 XML 扩展或从Bitmap
对象创建一个。
于 2010-03-10T11:17:12.223 回答
158
看到大量位图在转换为 a 时缩放不正确的问题BitmapDrawable
,一般的转换方法应该是:
Drawable d = new BitmapDrawable(getResources(), bitmap);
如果没有Resources reference
,bitmap
即使正确缩放,也可能无法正确渲染。这里有许多问题,只需使用此方法即可解决,而不是仅使用bitmap
参数直接调用。
于 2012-01-31T11:14:09.133 回答
36
官方 Bitmapdrawable文档
这是有关如何将位图转换为可绘制的示例
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
于 2014-06-11T11:20:54.263 回答
32
我与上下文一起使用
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
于 2016-10-13T00:06:25.800 回答
20
如果你有一个位图图像并且你想在drawable中使用它,比如
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
于 2012-11-20T06:50:31.830 回答
16
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);
于 2019-11-07T08:27:15.157 回答
11
只需这样做:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
于 2015-07-23T16:55:43.303 回答
1
这是另一个:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
于 2018-04-09T07:09:36.233 回答
0
使用代码在草图软件应用程序中将位图隐藏为可绘制
android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
于 2019-05-29T16:35:22.447 回答
0
对于 Kotlin 用户:
Kotlin 具有转换Bitmap
为的功能BitmapDrawable
:
Bitmap.toDrawable(resources)
于 2022-02-10T16:27:25.910 回答
-1
你可以试试这个:
public static Bitmap mirrorBitmap(Bitmap bInput)
{
Bitmap bOutput;
Matrix matrix = new Matrix();
matrix.preScale(-1.0f, 1.0f);
bOutput = Bitmap.createBitmap(bInput, 0, 0, bInput.getWidth(), bInput.getHeight(), matrix, true);
return bOutput;
}
于 2021-01-12T10:13:57.757 回答