2012-05-20 69 views
0

我可能并不总是理解API中的每个函数,但通常我至少可以开始解决某个问题。这一次,我甚至不知道这是可能的或如何攻击它......iOS - 计算区域中颜色的百分比

我在屏幕上有一个区域,用户可以绘制。这工作正常。他们用三种不同的颜色画出三种不同的情况。我需要检测该区域三种不同颜色的百分比覆盖率。似乎没有办法获得单个屏幕像素的颜色值。你会如何处理这个问题?

回答

1

您可以通过创建一个位图图形上下文来创建一个分配的内存块,并将其传递给CGBitmapContextCreate

然后,您可以简单地将您的视图或图像绘制到该上下文中(例如,使用CALayer方法renderInContext:)。您分配的内存块将包含您已经绘制到上下文中的像素数据。字节顺序取决于创建上下文时指定的选项,通常它是RGBA(一个字节表示红色,下一个表示绿色等)。

+0

然后我会使用CGBitmapContextGetData来实际访问像素数据? – simusid

+0

是的,或者如果您自己分配数据,则可以使用它。 – omz