iOS:如何绘制楔形?

时间:2012-03-27 13:16:58

标签: iphone ios ipad cgcontext cgimage

我需要绘制一个楔形,也就是说一个填充椭圆的一部分,从一个角度到另一个角度,例如, 90度到110度。

填充的楔形物是好的,或者是楔形的轮廓。

这里的任何人都知道如何绘制这样的东西吗?

感谢。

更新表示我需要画一个椭圆的楔形而不是圆形。糟糕!

1 个答案:

答案 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

正如你所看到的,它看起来有点像PacMan,因为角度与你或我理解的角度相反。但乱用这个功能,它应该适合你。