我是Iphone的新手。我想画一个不同颜色的圆圈。并且所有的颜色应该覆盖相同的面积。例如,如果我想要有10种不同的颜色。然后每种颜色应该覆盖圆圈的1/10的面积。我不是想在这里画一个饼图。也不要尝试使用10种不同的颜色。只要10个相等的圆圈部分,每个部分都可以用颜色填充。我正在试着造一个算命轮。使得较小的轮子位于较大的轮子的上方。然后我想把它们分开拖拽。还有,有没有可能在Core Animation的帮助下做到这一点?
发布于 2012-10-03 17:47:57
模棱两可的问题
在一个圆中有360°,所以除以10,每个楔子应该有36°。现在你只需要画10个楔形,这个页面应该会对你有帮助:
http://www.raywenderlich.com/2106/core-graphics-101-arcs-and-paths
发布于 2012-10-08 21:48:01
既然你说你不想要馅饼片,你想要同心圆环吗?
你确定你想要相等的面积吗?这将使环的厚度不同。最里面的环会相当厚,当你向外走的时候,每个环都会变薄。在外环上要薄得多。
我们的眼睛习惯于形成牛眼,其中每个环的厚度都是相同的。
在任何情况下,您都应该查看CAShapeLayer对象。可以为定义具有两个圆的闭合路径的每个环创建一个形状层。有一种叫做“缠绕规则”的东西,它可以让你决定当路径重叠时会发生什么。我想你会想要奇偶路径缠绕(kCAFillRuleEvenOdd)。
要使环的面积相等,可以执行以下操作:
首先计算整个圆的面积。除以环数。这是每个环的期望区域,我们称它为"a“。从中心开始。环(圆)的半径将是sqrt(pi/a)。
对于接下来的每个环,您需要根据外圆的面积减去构成环的内圆的面积来计算环的厚度。你需要写一个方程,在给定期望面积和半径或前一个圆的情况下求解外半径。
https://stackoverflow.com/questions/12705787
复制相似问题