我正在绘制一个路径到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