在图像的特定部分填充颜色,但仅使用触摸而不是使用FloodFill

问题描述 投票:0回答:1

我正在为彩色书制作一个Android应用程序,其中有不同部分的各种图像,当用户触摸它时 - 它会被着色。

我在这里看到了很多关于这个问题的答案,但它们都使用Flood Fill算法。我不想只用一次触摸来完成该部分,我希望用户应该用他的触摸来填充它,就像画家使用他的画笔一样。

我正在使用 Canvas 的 onTouchEvent、OnDraw 等方法来绘制触摸区域,但是当用户在图像的特定部分之外绘制手指时,该部分也会被着色(甚至当用户触摸图像的外部部分时也会被着色)背景)。

我希望用户只能绘制该图像的特定区域,并且该区域不会仅通过一次触摸来填充(如 FloodFill 所做的那样),它应该像画家用画笔绘画一样进行绘制。

任何人都可以给我一些建议如何实现我想要的吗?

android android-canvas
1个回答
0
投票
    canvas.save()
    canvas.clipRect(rect) or canvas.clipPath(path)
    canvas.drawPath(path)
    canvas.restore()
© www.soinside.com 2019 - 2024. All rights reserved.