iOS Quartz / CoreGraphics рисует перетянутую обводку

Я рисую путь в CGContext после набора точек, полученных от пользователя. Похоже, что имеется случайный входной джиттер, из-за которого края строки выглядят неровными. Думаю, небольшая перышка решит эту проблему. Если бы я использовал OpenGL ES, я бы просто применил перо к спрайту, которым прокладываю путь; однако этот проект требует, чтобы я оставался в Quartz / CoreGraphics, и я не могу найти аналогичного решения.

Я попытался нарисовать 5 линий, каждая из которых была немного больше и прозрачнее, чтобы приблизиться к перышку. Это дает плохой результат и заметно снижает производительность.

Это код рисования линии:

CGContextMoveToPoint(UIGraphicsGetCurrentContext(),((int)lastPostionDrawing1.x), (((int)lastPostionDrawing1.y)));
CGContextAddCurveToPoint(UIGraphicsGetCurrentContext(), ctrl1_x, ctrl1_y, ctrl2_x, ctrl2_y, lastPostionDrawing2.x, lastPostionDrawing2.y;
[currentPath addCurveToPoint:CGPointMake(lastPostionDrawing2.x-((int)furthestLeft.x)+((int)penSize), lastPostionDrawing2.y controlPoint1:CGPointMake(ctrl1_x, ctrl1_y) controlPoint2:CGPointMake(ctrl2_x, ctrl2_y)];
7
задан ipmcc 8 February 2012 в 14:37
поделиться