0
我有两个图像。 带红色矩形的图像,图像全白。我只想用白色图像上的手指画上其他图像是红色矩形的地方。 带红色矩形的图像不应该可见。 我该怎么办?Android - 手指只在特定区域绘制位图
我有两个图像。 带红色矩形的图像,图像全白。我只想用白色图像上的手指画上其他图像是红色矩形的地方。 带红色矩形的图像不应该可见。 我该怎么办?Android - 手指只在特定区域绘制位图
针对每个图像创建边界内,例如将Rect设置为每个图像的线(位置&大小)。在重写onDraw()的视图中,将onTouchListener设置为视图本身。
在onTouch()中检查event.getX()/ getY()是否在白色图像的范围内。然后使用whiteImage.setPixel()设置位图图像的各个像素。或者使用Canvas.drawPoint()来代替自己处理白色位图图像。
关于不显示红色的矩形...只是不画它?
编辑: 关于非正方形/矩形形状的评论。我仍然会检查矩形中的触摸事件,然后将它传递给图像(如果它已经达到了形状)。你可以做Bitmap.getPixel(x,y),看看它是否为Color.White ==,如果它是..把它改成任何颜色!
有关如何绘制到Android Canvas的详细信息,请访问http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawable。 – Ally
我不知道事先将图像形成的形状可能是一个矩形,如星形或不规则形状。 – user1169390
看我的编辑:)我已经包括了你将如何做不规则的形状。继续使用矩形来提高性能,你不需要像素检查一直。首先是简单的界限,然后单个像素的像素 – Micky