我需要绘制一个楔形,也就是说一个填充椭圆的一部分,从一个角度到另一个角度,例如, 90度到110度。
填充的楔形物是好的,或者是楔形的轮廓。
这里的任何人都知道如何绘制这样的东西吗?
感谢。
更新表示我需要画一个椭圆的楔形而不是圆形。糟糕!
答案 0 :(得分:0)
这是一个解决方案(好吧,有点):
#define radians(degrees) ((degrees) / 180 * M_PI)
void drawWedge(CGContextRef context, CGFloat x, CGFloat y, int deg1, int deg2, CGFloat radius)
{
CGContextMoveToPoint(context, x, y);
CGContextAddArc(context, x, y, radius, radians((double) deg1), radians((double) deg2), YES);
CGContextAddLineToPoint(context, x, y);
CGContextStrokePath(context); // or CGContextFillPath()
}
请注意,这里有一些注意事项,这里是一个范围为0-90且半径为15 px的圆圈:
正如你所看到的,它看起来有点像PacMan,因为角度与你或我理解的角度相反。但乱用这个功能,它应该适合你。