Как нарисовать заполненные полигоны? - PullRequest
4 голосов
/ 22 ноября 2011

Я хотел бы знать, как рисовать заполненные многоугольники, используя каркас CoreGraphics.

Вот пример, который я пытаюсь нарисовать:

enter image description here

У меня есть A, B, C, D, E, F и G.

Можете ли вы предложить мне?

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 22 ноября 2011
- (void)drawRect:(CGRect)rect{      
    CGContextRef context= UIGraphicsGetCurrentContext();
    CGContextSetRGBStrokeColor(context, 0.0, 1.0, 0.0, 1.0);
    CGContextSetLineWidth(context, 1.0);
    CGContextMoveToPoint(context, 10, 50);
    CGContextAddLineToPoint(context, 100, 80);
    CGContextAddLineToPoint(context, 120, 120);
    CGContextAddLineToPoint(context, 60, 80);
    CGContextAddLineToPoint(context, 10, 50);
    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
    CGContextFillPath(context);
}
2 голосов
/ 22 ноября 2011

Вы можете сделать это также с помощью UIKit (т.е. API более высокого уровня):

UIBezierPath *path = [UIBezierPath ...];
...
[UIColor.redColor setFill];
[path fill];

Это заполнит ваш путь в текущем графическом контексте.

...