複数の Drawable をマージするために LayerDrawable を使用しています。ここで、LayerDrawable をファイルにエクスポートしたいと思います。
私はこの方法を試しました:
Bitmap b = ((BitmapDrawable)myLayerDrawable).getBitmap();
--> ClassCastException...
私に何ができる?
Drawable を Bitmap Canvas に描画しようとしましたか? 呼び出し順序は次のようになると思います。
Bitmap b = Bitmap.createBitmap(int width, int height, Bitmap.Config config);
myLayerDrawable.draw(new Canvas(b));
その後、Bitmap オブジェクトを出力ストリームに書き込むことができます。
助けてくれてありがとう。しかし、私のような初心者には、より具体的なコードが必要です。私は試してみましたが、次のように機能しました。
Bitmap b = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
layerDrawable.setBounds(0, 0, getWidth(), getHeight());
layerDrawable.draw(new Canvas(b));
最終的に、b(ビットマップ)は目的の結合ビットマップです。