我正在为彩色书制作一个Android应用程序,其中有不同部分的各种图像,当用户触摸它时 - 它会被着色。
我在这里看到了很多关于这个问题的答案,但它们都使用Flood Fill算法。我不想只用一次触摸来完成该部分,我希望用户应该用他的触摸来填充它,就像画家使用他的画笔一样。
我正在使用 Canvas 的 onTouchEvent、OnDraw 等方法来绘制触摸区域,但是当用户在图像的特定部分之外绘制手指时,该部分也会被着色(甚至当用户触摸图像的外部部分时也会被着色)背景)。
我希望用户只能绘制该图像的特定区域,并且该区域不会仅通过一次触摸来填充(如 FloodFill 所做的那样),它应该像画家用画笔绘画一样进行绘制。
任何人都可以给我一些建议如何实现我想要的吗?
canvas.save()
canvas.clipRect(rect) or canvas.clipPath(path)
canvas.drawPath(path)
canvas.restore()