是否可以将一组图像添加到画布然后删除它们?

时间:2013-01-28 15:22:12

标签: android bitmap arraylist android-canvas

是否可以将一组图像添加到画布然后删除单个图像?让我们说我声明一个ArrayList并将其添加到它。然后我在画布上绘制它们。如何删除一个图像而不是全部?这可能吗?

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);

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为一旦你在画布上绘制了任何图像,那个画布的位图的像素值就会改变。

您必须清除整个画布并在画布上重新绘制所有其他图像,

您可以执行的一项优化是应用剪辑区域,在这种情况下,请不要清除画布并按照以下步骤操作:

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

现在只清除clip_region区域并在画布上绘制所有其他图像,通过此优化,您的应用程序将比没有CLIP REGION的绘图需要更少的CPU绘制,