/ / È possibile aggiungere una serie di immagini all'area di disegno e quindi eliminarle? - android, bitmap, arraylist, android-canvas

È possibile aggiungere una serie di immagini alla tela e quindi eliminarle? - Android, bitmap, arraylist, canvas android

È possibile aggiungere una serie di immagini atela e quindi eliminare singole immagini? Quindi diciamo che dichiaro un ArrayList e vi aggiungo le mie immagini. Poi li disegno sulla tela. Come posso eliminare solo un'immagine anziché tutte? È possibile?

ArrayList<Integer> myImageList = new ArrayList<Integer>();
myImageList.add(R.drawable.image1);
myImageList.add(R.drawable.image2);
myImageList.add(R.drawable.image3);
canvas.drawBitmap(myImageList[0], 300, 400, null);
canvas.drawBitmap(myImageList[1], 300, 400, null);
canvas.drawBitmap(myImageList[2], 300, 400, null);

risposte:

0 per risposta № 1

Non è possibile, poiché una volta che hai disegnato un'immagine su tela, il valore in pixel della bitmap di quella tela viene modificato.

Devi cancellare l'intera tela e ridisegnare tutte le altre immagini sulla tela,

Un'ottimizzazione che puoi fare è applicare un'area di clip, in tal caso non cancellare l'area di disegno e seguire i passaggi:

Region clip_region= region of the image(which you want to remove ) on the canvas;
canvas_object.clipRegion(clip_region);

Ora cancella solo l'area clip_region e disegna tutte le altre immagini sulla tela, con questa ottimizzazione la tua app impiegherà meno cpu per disegnare rispetto al disegno senza CLIP REGION,