iOS: как нарисовать клин? - PullRequest
0 голосов
/ 27 марта 2012

Мне нужно нарисовать клин, то есть часть заполненного эллипса, который проходит от одного угла до другого угла, например, от 90 градусов до 110 градусов.

Любой заполненный клин будет хорошимили контур клина.

Кто-нибудь здесь знает, как нарисовать такую ​​вещь?

Спасибо.

ОБНОВЛЕНО, чтобы указать, что мне нужно нарисовать клин эллипсане кругПо электронной почте Ой.

1 Ответ

0 голосов
/ 27 марта 2012

Вот решение (ну, вроде):

#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 пикселей: PACMAN

Как вы можете видеть, это немного похоже на PacMan, потому что углы противоположны тем, которые вы или я бы поняли.Но возитесь с этой функцией, и она должна хорошо работать для вас.

...