如何平滑ipad中的线条
我记录了用户触摸开始移动结束 ipad 时的每个点,然后将这些点添加到名为 path 的 CGMutablePathRef 中,然后使用以下代码来绘制线条(路径)用户在 ipad 中触摸。
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetStrokeColorWithColor(context, [UIColor redColor]);
CGContextSetLineWidth(context, 2);
CGContextAddPath(context, path);
CGContextStrokePath(context);
但这些线条看起来并不平滑,谢谢你的帮助
i have recorded each point when user touch begin move end the ipad,and then i add these points in to a CGMutablePathRef called path, then i use following code to draw the lines(path) user touched in ipad.
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetStrokeColorWithColor(context, [UIColor redColor]);
CGContextSetLineWidth(context, 2);
CGContextAddPath(context, path);
CGContextStrokePath(context);
but these lines didn't look smooth, thanks for your help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以通过使用以下方法获得更多平滑度:
但如果您需要绘制非常平滑的线条/曲线,那么您需要使用 UIBezierCurve 或任何其他曲线算法重新绘制线条。
编辑:我对代码做了一些更改以实现平滑绘图。检查我的经典看板应用:https://itunes.apple.com/app/id493525167
You may achieve more smoothness by using the following:
But if you need to draw very smooth lines/curves, then you need to redraw lines by using UIBezierCurve or any other curving algorithms.
Edit: I did some changes in my code for smooth drawing. Check my classic board app: https://itunes.apple.com/app/id493525167
您需要将其添加到第一行之后。
You will need to add this just after you first line.
我建议你使用 Cocos2d 来获得完美平滑的线条。您可能想看一下这个。 https://github.com/krzysztofzablocki/smooth-drawing
I'd suggest you to use Cocos2d for perfectly smooth lines. You might want to have a look at this one. https://github.com/krzysztofzablocki/smooth-drawing