0

假设我在 iOS 的屏幕上有一个实心、不规则形状(但封闭)的形状(一种颜色)。然后,我想通过拖动手指来“擦除”该形状的部分,就像在典型的儿童着色应用程序中一样,在我触摸屏幕的地方用固定的画笔大小擦除。

我可以使用图像遮罩和触摸检测之类的方法轻松完成所有这些操作,但是,作为要求,我还需要确定剩余形状的粗略百分比。

例如,我需要知道 50% 的随机封闭形状何时被“擦除”。

解决这个问题的最佳方法是什么?是否有任何现有的 iOS 兼容库可以处理它?我在想我需要跟踪大量多边形并计算所有重叠,但似乎必须有解决这个问题的方法。

编辑:我已经对此问题进行了研究,但是手动跟踪所有多边形并计算它们的所有位置和区域重叠似乎过于复杂。我只是想知道是否有其他人遇到过类似的问题并找到了更好的解决方案。

4

1 回答 1

2

您首先需要知道图像视图的固定空间。那么您将需要知道加载新图像时空白空间的百分比。像素

double percentageFilledIn = ((double)nonBlankPixelCount/totalpixels);

获得该值后,您需要将该百分比用作现有百分比的基准

您的新计算将如下所示。

double percentageOfImageLeft = ((double)nonBlankPixelCount/totalpixels/percentageFilledIn);

此计算可能会占用大量处理器。我只会谨慎计算。

由于这篇文章不是关于代码,而是关于登录,我将让您确定检测非空白像素的逻辑。

这里是如何找到像素颜色。

如何在 iOS/ObjectiveC 中获取 TouchPoint 的坐标和 PixelColor

祝你好运。

于 2013-01-04T18:23:27.363 回答