我正在繪製一個路徑到CGContext,遵循從用戶收集的一組點。似乎有一些隨機輸入抖動會導致一些線邊緣看起來鋸齒狀。我認爲有一點輕鬆會解決這個問題。如果我使用的是OpenGL ES,我會簡單地將羽毛應用到我正在撫摸路徑的精靈上;然而,這個項目需要我留在Quartz/CoreGraphics中,我似乎無法找到類似的解決方案。iOS 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)];
你有沒有試過CGContextSetShouldAntialias函數? – Davyd
在過去,我有類似的問題使用四條曲線或2個控制點的曲線。如果你發給我你想繪製的.svg或者至少是你想要繪製的羽毛的更多信息,我可以幫忙 – GianPac