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

时间:2010-03-10 09:09:07

标签: android bitmap android-drawable

如何将Bitmap图像转换为Drawable?

11 个答案:

答案 0 :(得分:795)

尝试将Bitmap类型的图片转换为Drawable

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

答案 1 :(得分:254)

听起来好像要使用BitmapDrawable

来自文档:

  

包裹位图的Drawable可以   平铺,拉伸或对齐。您   可以从a创建BitmapDrawable   文件路径,输入流,通过   XML通胀,或来自Bitmap   对象

答案 2 :(得分:140)

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

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

如果没有Resources reference,即使正确缩放,bitmap也可能无法正常呈现。这里有很多问题,只需使用这种方法就可以解决,而不是仅使用bitmap参数的直接调用。

答案 3 :(得分:34)

官方Bitmapdrawable documentation

这是关于如何转换bitmap to drawable

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

答案 4 :(得分:29)

我用上下文

Expected Output:

$SQL = "SELECT field WHERE MATCH(keywords) AGAINST('keyword1 keyword2 "exact match" keyword3' IN BOOLEAN MODE)";

答案 5 :(得分:20)

如果你有一个位图图像,你想在drawable中使用它,比如

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

答案 6 :(得分:11)

这样做:

private void setImg(ImageView mImageView, Bitmap bitmap) {

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

答案 7 :(得分:3)

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);

答案 8 :(得分:0)

这是另一个:

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

答案 9 :(得分:0)

使用代码将位图隐藏到Sketchware应用中的可绘制对象

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

答案 10 :(得分:-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;
    }