Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 检测已绘制图像的百分比;抹去;_Objective C_Ios_Graphics_Drawing - Fatal编程技术网

Objective c 检测已绘制图像的百分比;抹去;

Objective c 检测已绘制图像的百分比;抹去;,objective-c,ios,graphics,drawing,Objective C,Ios,Graphics,Drawing,假设我在iOS(单色)屏幕上有一个实心的、形状不规则的(但封闭的)形状。然后,我想通过拖动手指来“擦除”该形状的部分,就像在典型的儿童着色应用程序中一样,在触摸屏幕的地方用固定大小的笔刷擦除 我可以很容易地完成这一切,像一个图像掩模和触摸检测,然而,作为一项要求,我还需要确定形状的大致百分比仍然存在 例如,我需要知道随机封闭形状的50%何时被“擦除” 解决这个问题的最好方法是什么?是否有任何现有的与iOS兼容的库可以处理它?我想我需要跟踪大量的多边形并计算所有的重叠,但似乎这个问题必须有一个解决

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

我可以很容易地完成这一切,像一个图像掩模和触摸检测,然而,作为一项要求,我还需要确定形状的大致百分比仍然存在

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

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


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

您首先需要知道图像视图的固定空间。然后,您需要知道加载新图像时的空白百分比。象素

double percentageFilledIn = ((double)nonBlankPixelCount/totalpixels);
获得该值后,需要使用该百分比作为现有百分比的基线

您的新计算结果如下所示

double percentageOfImageLeft = ((double)nonBlankPixelCount/totalpixels/percentageFilledIn);
此计算可能需要大量处理器。我只会谨慎地计算

因为这篇文章不是关于代码的,更多的是关于登录的,所以我将让您确定检测非空白像素的逻辑

下面是如何找到像素颜色


祝你好运。

这可能是处理器太密集了,但面积不是太大,所以可能会工作。谢谢