iphone - 如何在ipad中平滑线条

标签 iphone ios ipad quartz-graphics

当用户触摸开始移动结束 ipad 时,我记录了每个点,然后我将这些点添加到名为 pathCGMutablePathRef 中,然后我使用以下代码来绘制用户在 ipad 中触摸的线条(路径)。

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetStrokeColorWithColor(context, [UIColor redColor]);
CGContextSetLineWidth(context, 2);
CGContextAddPath(context, path);
CGContextStrokePath(context);

但是这些线条看起来并不流畅,感谢您的帮助

最佳答案

您可以使用以下方法获得更平滑的效果:

UIGraphicsBeginImageContext(self.frame.size);
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineJoin(UIGraphicsGetCurrentContext(), kCGLineJoinRound);
CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES);
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), YES);
CGContextSetMiterLimit(UIGraphicsGetCurrentContext(), 2.0);

但是如果你需要绘制非常平滑的线条/曲线,那么你需要使用 UIBezierCurve 或任何其他曲线算法重新绘制线条。

编辑:我对我的代码进行了一些更改以实现流畅的绘图。查看我的经典看板应用:https://itunes.apple.com/app/id493525167

关于iphone - 如何在ipad中平滑线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5294174/

相关文章:

ios - iOS:如何在音乐应用程序中的蓝牙耳机中播放缓冲音频?

iphone - 如何从 NSData 获取信息?

objective-c - 将 GPS 坐标映射到图像并在其上绘制一些 GPS 点

iphone - 试图了解 AVAudioPlayer 和音频电平表

iphone - 在 XCode 4.2 中使用动态自定义 UITableViewCell,以及 Storyboards 和 UISeachDisplayController

iphone - 在MKAnotationView Xcode中添加多行字幕

iphone - UITableView 错误

php - 带有 PHP 脚本的 Apple 推送通知服务

ios - 如何阻止 react-native 链接将库与具有 podspec 的 CocoaPods 链接起来?

html - 无法在 iPad 中获取用于输入的电话键盘