2012-01-26 35 views

回答

1

针对每个图像创建边界内,例如将Rect设置为每个图像的线(位置&大小)。在重写onDraw()的视图中,将onTouchListener设置为视图本身。

在onTouch()中检查event.getX()/ getY()是否在白色图像的范围内。然后使用whiteImage.setPixel()设置位图图像的各个像素。或者使用Canvas.drawPoint()来代替自己处理白色位图图像。

关于不显示红色的矩形...只是不画它?

编辑: 关于非正方形/矩形形状的评论。我仍然会检查矩形中的触摸事件,然后将它传递给图像(如果它已经达到了形状)。你可以做Bitmap.getPixel(x,y),看看它是否为Color.White ==,如果它是..把它改成任何颜色!

+0

有关如何绘制到Android Canvas的详细信息,请访问http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawable。 – Ally

+0

我不知道事先将图像形成的形状可能是一个矩形,如星形或不规则形状。 – user1169390

+0

看我的编辑:)我已经包括了你将如何做不规则的形状。继续使用矩形来提高性能,你不需要像素检查一直。首先是简单的界限,然后单个像素的像素 – Micky