Ich möchte eine leere Bitmap erstellen und eine Zeichenfläche für diese Bitmap festlegen und dann eine beliebige Form auf die Bitmap zeichnen.
Ich möchte eine leere Bitmap erstellen und eine Zeichenfläche für diese Bitmap festlegen und dann eine beliebige Form auf die Bitmap zeichnen.
Antworten:
Dies ist wahrscheinlich einfacher als Sie denken:
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
Hier ist eine Reihe von Tutorials, die ich zum Thema gefunden habe: Zeichnen mit Canvas-Serien
Verwenden Sie Bitmap.Config.ARGB_8888 nicht
Verwenden Sie stattdessen 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 kann Sie in OutOfMemory-Probleme bringen, wenn Sie mit mehr Bitmaps oder großen Bitmaps arbeiten. Oder noch besser: Vermeiden Sie die Verwendung der ARGB-Option.