我需要创建一个小的绘图/绘画应用程序,所以我转向Beginning IPad Development for IPhone Developers: Mastering the IPad SDK By Jack Nutting, Dave Wooldridge, David Mark。
非常好。架构很强大。但是,绘图应用程序( Dudel )在性能方面不是很好。目前有两个主要问题(对我而言):
drawRect
。addLineToPoint:
代替(可能是)addQuadCurveToPoint:
。问题:
是否有解决这些问题的解决方案,并提供简单但有效的绘图应用程序?
注意:我也需要撤消/重做功能。
答案 0 :(得分:1)
让我试着逐一回答你的问题。
使用铅笔工具绘图不流畅。原因:它使用的是addLineToPoint:而不是(可能是)addQuadCurveToPoint:。
你说的是真的.IOS设备在定义的间隔内寻找触摸。如果你快速移动手,很可能最终会失去很少的接触点。因此,使用线连接点会导致难看的尖峰。
我们可以通过curve fitting算法平滑曲线。但是,图纸中的一些调整可以带来可衡量的质量改进。 Here就是一个例子。
橡皮擦控制
如果您知道背景颜色,可以使用它作为画笔颜色来赋予橡皮擦的感觉。如果您不知道背景,可以使用
CGContextSetBlendMode(context, kCGBlendModeClear);
撤消/重做
您可以使用NSUndoManager。