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