Ho disegnato alcuni rects in una tela e voglioper copiare quei rects in un'altra tela. La soluzione comunemente discussa sull'utilizzo di bitmap non funzionerà perché non ho usato una bitmap in questo canvas, nessuna immagine solo quelle rects.
Come lo faccio?
risposte:
1 per risposta № 1Hai provato a salvare gli attributi dati alrettangoli dopo aver disegnato sulla prima tela e quindi ridisegnandoli sulla seconda area in base a questi attributi? Forse potresti provare a creare un oggetto Rect per il primo canvas e passarlo a Canvas.drawRect () sul secondo canvas?
0 per risposta № 2
Puoi creare una bitmap usando una tela e disegnare su quella bitmap.
bitmap = Bitmap.createBitmap(50,50,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
// drawn some rects into canvas
Ora puoi usare la bitmap per disegnare su qualsiasi tela tu voglia;
Canvas canvas1 = new Canvas(bitmap);
Canvas canvas2 = new Canvas(bitmap);
O se hai già una tela:
canvas.drawBitmap(bitmap, 0, 0, paint);
In questo modo disegni solo una volta e non su ogni tela.