AndroidでビットマップをDrawableに変換する方法は?


446

ビットマップイメージをDrawableに変換するにはどうすればよいですか?


2
こんにちは私はあなたの質問の答えを得て、このリンクをたどり、正しい答えを得ました。そして、私は成功しました。あなたが成功したことを願っています。最高の幸運androidsnippets.com/convert-bitmap-to-drawable
Zala Janaksinh

2
貢献は、ありがとうと言うのに最適な方法です... :)回答を与えるという観点からの貢献... :)
Farhan

@Farhan k ......。
Abhi 2016

回答:


264

使いたいようです BitmapDrawable

ドキュメントから:

A Drawableビットマップをラップし、タイル張り伸ばし、または整列させることができます。BitmapDrawableファイルパス、入力ストリーム、XMLインフレーション、またはBitmap オブジェクトからを作成できます。


21
@Deprecated BitmapDrawable(Resources、Bitmap)を使用して、ドローアブルがターゲット密度を正しく設定していることを確認します。
カミーユセヴィニー2014年

79
役に立たない投稿、役に立たないコメント。何かコードを追加した方が良いでしょう
voghDev

827

Bitmapタイプイメージを次のように変換します。Drawable

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

これは私が期待したことです!
mazend

147

に変換したときにビットマップが正しくスケーリングされないという大量の問題が発生したため、BitmapDrawable変換する一般的な方法は次のとおりです。

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

がないとResources referencebitmap正しくスケーリングされた場合でも、が正しくレンダリングされない場合があります。ここには多くの質問があり、bitmap引数のみの直接の呼び出しではなく、このメソッドを使用するだけで解決されます。


12
少なくとも、あなたが反対票を投じるのならなぜかコメントしてください。これは完全に有効な回答であり、提供される他の回答で発生する可能性のある問題を解決するための追加情報をもたらします。ビットマップから直接作成されたドローアブルには、getResources()参照がないとスケーリングエラーが発生することがよくあります。
Zulaxia

4
@Manojからの回答が廃止されることを考えると、これはより正確な回答です。
Raykud 2012年

35

公式Bitmapdrawable ドキュメント

これはビットマップをドローアブルに変換する方法のサンプルです

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

申し訳ありません...私は深刻ではありませんでした
Abhi

5
同じ答えを書く代わりに賛成票を投じることもできます。
CopsOnRoad 2017年


19

ビットマップ画像があり、それをドローアブルで使用したい場合、

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

20
現在は非推奨です。今すぐBitmapDrawable(Resources、Bitmap)コンストラクタを使用します。
シュリンゲル2013年

1
@schlingelまだ問題なく動作しており、私たちの多くがプロジェクトで使用しています
Pir Fahim Shah

2
それはあなたにとっては良いことですが、Googleが最終的にこのコンストラクターをkillし、すべてを書き直さなければならない場合には役に立ちません。
シュリンゲル2014

@schlingelはい、しかしそれでも急いでいる人がこれを使って仕事をします
ピル・ファヒム・シャー14

11

これを行うだけです:

private void setImg(ImageView mImageView, Bitmap bitmap) {

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

1
彼が求めていることに対する解決策ではない
IIRed-DeathII

2

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

1

ここに別のものがあります:

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

0

コードを使用したスケッチウェアアプリでのドローアブルへの隠しビットマップ

    android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.