iPhone Кварцевая кривая неровная и с темной каймой - PullRequest
0 голосов
/ 30 ноября 2009

У меня странная проблема с кварцем. При первом запуске кода, приведенного ниже, линия будет нарисована как линия справа на изображении. Во второй раз (и каждый раз после) эти строки выполняются, строка будет выглядеть как линия слева. Почему это выглядит так? Это все неровно и, кажется, имеет темную границу. Если бы вы нарисовали кривую с непрозрачностью, в первый раз она была бы довольно яркой, а во второй - очень темной.

CGContextSetRGBFillColor(context, 0.0,0.0,0.0,0.0);
CGContextClearRect(context, CGRectMake( 0, 0, 320, 480));   
CGContextSetRGBFillColor(context, 0, 0, 0, 0);
CGContextSetBlendMode(context, kCGBlendModeNormal);
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextSetLineWidth(context, 4.0);

CGContextMoveToPoint(context, p1.x, p1.y);
CGContextAddCurveToPoint(context, cp1.x, cp1.y, cp2.x, cp2.y, p2.x, p2.y);

CGContextDrawPath(context, kCGPathStroke);

alt text
(источник: pici.se )

1 Ответ

0 голосов
/ 08 декабря 2009

сглаживание выключено? Кроме того, вы можете убедиться, что значения x и y округлены, поскольку Quartz Framework плохо обрабатывает половину.

...