0

是否可以将一组图像添加到画布,然后删除单个图像?假设我声明了一个 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);
4

1 回答 1

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,

于 2013-01-29T19:00:13.473 回答