0

我在 Android 中有一个画布,我在其中绘制了许多直径为 1 到 10 像素的圆圈。

我只想在透明背景上打印这个圆圈,如果要画圆圈的地方有任何其他颜色,它应该被取消,我想知道那个地方已经存在的颜色。当它只是重叠一点时。

问题是,我发现的所有方法都表现不佳。

我在屏幕上画了超过 10000 个圆圈,效果很好,但它们是重叠的,我必须处理这个问题。

谁能帮我??:-)

4

1 回答 1

0

你的问题不是很清楚。

如果您想知道“在绘制视图背景之前”存在哪种颜色,我看不到任何解决方案。如果有人能找到答案,我会非常感兴趣。

如果您想知道“如果您之前绘制了一个与您要绘制的当前圆重叠的圆”,那么最好的解决方案是自己以编程方式维护您之前绘制的所有圆的列表,它们的中心位置和直径并检查它是否会与新圆重叠。这种计算非常简单,应该足够快,即使是 1000 圈。

另请注意,有一些方法可以优化此类计算。例如,如果事情太慢,您可以考虑使用不同的距离度量而不是经典的欧几里得度量。例如,可以使用中心之间使用绝对值的 x 和 y 的差值来代替它们的差值平方和的平方根。

于 2013-03-24T09:13:37.167 回答