Как обвести путь в Core Graphic? - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь обойти свой путь, написав строку кода ниже, но она не рисуется. Пожалуйста, помогите мне выяснить, в чем проблема в этом.

void draw1PxStroke(CGContextRef context,CGColorRef color,CGMutablePathRef arcPath) {
    CGContextSaveGState(context);
    CGContextSetLineCap(context, kCGLineCapSquare);
    CGContextSetStrokeColorWithColor(context, color);
    CGContextSetLineWidth(context, 3.0);
    CGContextAddPath(context, arcPath);
    CGContextClip(context); 
    CGContextStrokePath(context);
    CGContextRestoreGState(context);                
}

Ответы [ 2 ]

4 голосов
/ 20 января 2012

Возможно, проблема в вашем вызове CGContextClip, который имеет побочный эффект сброса текущего пути контекста на пустой путь.

0 голосов
/ 20 января 2012

Вы можете сделать это так:

CGContextBeginPath(context);
    CGContextMoveToPoint(context, rect.origin.x, rect.origin.y);
    CGContextAddLineToPoint(context, rect.origin.x + rect.size.width, rect.origin.y);
    CGContextAddLineToPoint(context, rect.origin.x + rect.size.width, rect.origin.y + rect.size.height);
    CGContextAddLineToPoint(context, rect.origin.x, rect.origin.y + rect.size.height);
    CGContextAddLineToPoint(context, rect.origin.x, rect.origin.y);
    CGContextStrokePath(context);

Это покажет квадрат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...