Sto disegnando un tracciato in un CGContext seguendo una serie di punti raccolti dall'utente. Sembra che ci sia un jitter di input casuale che causa alcuni bordi della linea per sembrare frastagliati. Penso che una leggera piuma risolverebbe questo problema. Se stavo usando OpenGL ES vorrei semplicemente applicare una piuma allo sprite con cui sto accarezzando il percorso; tuttavia, questo progetto mi richiede di rimanere in Quartz/CoreGraphics e non riesco a trovare una soluzione simile.iOS Quartz/CoreGraphics disegno pennellata sfumata
Ho provato a disegnare 5 linee con ogni linea leggermente più grande e più trasparente per approssimare una piuma. Questo produce un cattivo risultato e rallenta notevolmente le prestazioni.
Questo è il codice di disegno linea:
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)];
Hai provato la funzione CGContextSetShouldAntialias? – Davyd
Ho avuto problemi simili in passato usando curve quadrangolari o curve con 2 punti di controllo. Potrei probabilmente aiutarti se mi mandi il .svg di quello che vuoi disegnare o almeno qualche informazione in più sulla piuma che stai cercando di disegnare – GianPac