Android - 手指仅在特定区域绘制位图

时间:2012-01-26 10:35:44

标签: android android-canvas

我有两张照片。 带有红色矩形的图像,图像全白。我想用手指在白色图像上画画,只有在另一个图像是红色矩形的地方。 带红色矩形的图像不应该是可见的。 我该怎么办?

enter image description here

1 个答案:

答案 0 :(得分:1)

为每个图像创建边界,例如将Rect设置为每个图像的线(位置和大小)。在覆盖onDraw()的视图中,将onTouchListener设置为视图本身。

在onTouch()中检查event.getX()/ getY()是否在白色图像的范围内。然后使用whiteImage.setPixel()设置位图图像的各个像素。或者使用Canvas.drawPoint()而不是操纵白色位图图像。

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

编辑: 关于非方形/矩形的评论。我仍然会检查矩形中的触摸事件,然后将其传递给图像,如果它已经击中了形状。

在形状内(我假设它是位图)你会做Bitmap.getPixel(x,y)并看看它是否= = Color.White,如果它是..改变它为任何颜色!