2016-05-16 38 views
-1

アイコンをアンドロイドのビットマップオブジェクトに変換したいと思います。アンドロイドでアイコンをビットマップに変換するには?

私の目標は、通知アイコンからビットマップに変換することです。

私は何をすべきですか?

ありがとうございました!

+0

おかげで、すべて。 Reflectionメソッド(loadDrawableInner)で解決しました。 – user212942

+0

私はこの質問が完全な複製であるとは思わないが、似ている。違いは 'Icon'は' Drawable'ではありませんが、 'icon.loadDrawable(context)'を使って 'Drawable'を' Icon'から得ることができます。 – rintcius

答えて

1

・ホープこれはあなたがこのクラスを使用することができます

Bitmap bitmapIcon = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
+0

あなたの答えをありがとう。しかし、私は通知オブジェクトのアイコンをビットマップに変換したい。 – user212942

1

に役立ちます。また、私は通常、このコードを使用します。

public static Bitmap drawableToBitmap (Drawable drawable) { 
Bitmap bitmap = null; 

if (drawable instanceof BitmapDrawable) { 
    BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; 
    if(bitmapDrawable.getBitmap() != null) { 
     return bitmapDrawable.getBitmap(); 
    } 
} 

if(drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) { 
    bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); // Single color bitmap will be created of 1x1 pixel 
} else { 
    bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); 
} 

Canvas canvas = new Canvas(bitmap); 
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); 
drawable.draw(canvas); 
return bitmap; 

}

+0

あなたの答えをありがとう。しかし、Notification.getSmallIcon()はDrawableではなくIconオブジェクトを返します... – user212942

関連する問題