10

複数の Drawable をマージするために LayerDrawable を使用しています。ここで、LayerDrawable をファイルにエクスポートしたいと思います。

私はこの方法を試しました:

Bitmap b = ((BitmapDrawable)myLayerDrawable).getBitmap();
--> ClassCastException...

私に何ができる?

4

4 に答える 4

15

Drawable を Bitmap Canvas に描画しようとしましたか? 呼び出し順序は次のようになると思います。

Bitmap b = Bitmap.createBitmap(int width, int height, Bitmap.Config config);
myLayerDrawable.draw(new Canvas(b));

その後、Bitmap オブジェクトを出力ストリームに書き込むことができます。

于 2010-11-04T21:24:20.237 に答える
5

助けてくれてありがとう。しかし、私のような初心者には、より具体的なコードが必要です。私は試してみましたが、次のように機能しました。

Bitmap b = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
layerDrawable.setBounds(0, 0, getWidth(), getHeight());
layerDrawable.draw(new Canvas(b));

最終的に、b(ビットマップ)は目的の結合ビットマップです。

于 2011-08-04T05:05:32.947 に答える