Vorrei creare una bitmap vuota e impostare una tela su quella bitmap e quindi disegnare qualsiasi forma sulla bitmap.
Vorrei creare una bitmap vuota e impostare una tela su quella bitmap e quindi disegnare qualsiasi forma sulla bitmap.
Risposte:
Questo è probabilmente più semplice di quanto pensi:
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
Ecco una serie di tutorial che ho trovato sull'argomento: Drawing with Canvas Series
Non utilizzare Bitmap.Config.ARGB_8888
Usa invece 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 può farti avere problemi con OutOfMemory quando hai a che fare con più bitmap o bitmap di grandi dimensioni. O meglio ancora, prova a evitare l'uso dell'opzione ARGB stessa.