Rysuję ścieżkę do CGContext po zestaw punktów zebranych od użytkownika. Wydaje się, że występuje losowy jitter wejściowy powodujący, że niektóre krawędzie linii wyglądają na postrzępione. Myślę, że delikatne pióro rozwiązałoby ten problem. Gdybym używał OpenGL ES, po prostu przykładałbym piórko do duszka, z którym głaszczę ścieżkę; jednak ten projekt wymaga ode mnie pozostania w Quartz/CoreGraphics i nie mogę znaleźć podobnego rozwiązania.Kwerenda iOS Quartz/CoreGraphics rysowanie ptactwa pociągnięcia
Próbowałem rysować 5 linii z każdą linią nieco większą i bardziej przezroczystą, aby zbliżyć piórko. Powoduje to zły wynik i wyraźnie obniża wydajność.
Jest to kod rysunek linia:
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)];
Czy próbowałeś funkcji CGContextSetShouldAntialias? – Davyd
Miałem podobne problemy w przeszłości używając czterokrotnych krzywych lub krzywych z 2 punktami kontrolnymi. Prawdopodobnie mógłbym pomóc, gdybyś przysłał mi .svg tego, co chcesz narysować, lub przynajmniej trochę więcej informacji o piórku, które próbujesz narysować – GianPac