Как нарисовать треугольник с помощью QUARTZ 2D? - PullRequest
1 голос
/ 01 июля 2011

Я разрабатываю приложение для iPhone с 3.1.3 SDK.

Я пытаюсь нарисовать треугольник с прозрачной заливкой 1px черным штрихом с этим кодом:

CGContextMoveToPoint(ctx, position.X, position.Y - (size.height / 2));
CGContextAddLineToPoint(ctx, position.X - (size.width / 2), position.Y + (size.height / 2));
CGContextAddLineToPoint(ctx, position.X + (size.width / 2), position.Y + (size.height / 2));
CGContextFillPath(ctx);
CGContextSetLineWidth(ctx, 1.0);
CGContextStrokePath(ctx);
CGContextSetFillColorWithColor(ctx, [[UIColor clearColor] CGColor]);

Но я получаю черный заполненный треугольник.

Что я делаю не так?

1 Ответ

1 голос
/ 01 июля 2011

Если вы хотите нарисовать путь с прозрачной заливкой - тогда вам не нужно его заполнять - просто обведите его, когда рисуете, поэтому кажется, что ваш метод CGContextFillPath является избыточным - удалите его:

CGContextMoveToPoint(ctx, position.X, position.Y - (size.height / 2));
CGContextAddLineToPoint(ctx, position.X - (size.width / 2), position.Y + (size.height / 2));
CGContextAddLineToPoint(ctx, position.X + (size.width / 2), position.Y + (size.height / 2));
CGContextSetLineWidth(ctx, 1.0);
CGContextStrokePath(ctx);
...