114

空のビットマップを作成し、キャンバスをそのビットマップに設定してから、ビットマップに任意の形状を描画したいと思います。

4

2 に答える 2

212

これはおそらくあなたが考えているよりも簡単です:

int w = WIDTH_PX, h = HEIGHT_PX;

Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types
Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap
Canvas canvas = new Canvas(bmp);

// ready to draw on that bitmap through that canvas

このトピックで見つけた一連のチュートリアルは次のとおりです: Canvas シリーズでの描画

于 2011-04-14T13:31:47.320 に答える
-6

Bitmap.Config.ARGB_8888 を使用しないでください

代わりに int w = WIDTH_PX, h = HEIGHT_PX; を使用してください。

Bitmap.Config conf = Bitmap.Config.ARGB_4444; // see other conf types
Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap
Canvas canvas = new Canvas(bmp);

// ready to draw on that bitmap through that canvas

ARGB_8888 は、より多くのビットマップまたは大きなビットマップを処理するときに、OutOfMemory の問題に陥る可能性があります。または、ARGB オプション自体の使用を避けてみてください。

于 2013-12-26T11:21:21.310 に答える