1

我需要创建一个小型绘图/绘画应用程序,因此我转向了为 iPhone 开发人员开始 iPad 开发:掌握 iPad SDK,作者是 Jack Nutting、Dave Wooldridge、David Mark

这很不错。架构很强大。但是,绘图应用程序(Dudel)在性能方面并不是很好。有两个主要问题(对我来说,目前):

  1. 最重要的是:绘图会在一段时间后变慢。原因:drawRect每次都在为所有路径调用。
  2. 用铅笔工具绘图不流畅。原因:它使用addLineToPoint:而不是 (maybe) addQuadCurveToPoint:
  3. 没有橡皮擦控制。但这真的不是问题,因为我们可以为这幅画选择白色,给人一种橡皮擦的错觉。但是,如果有更好的实现,我很想知道。

问题:

是否有解决这些问题并提供简单但高效的绘图应用程序的解决方案?

注意:我也需要撤消/重做功能。

4

1 回答 1

1

让我试着一一回答你的问题。

用铅笔工具绘图不流畅。原因:它使用 addLineToPoint: 而不是(可能是)addQuadCurveToPoint:。

你说的是真的。IOS设备在定义的时间间隔内寻找触摸。如果你快速移动你的手,你很可能最终会失去几个接触点。因此,使用线连接点会导致丑陋的尖峰。

我们可以通过曲线拟合算法来平滑曲线。但是,绘图中的一些调整可以导致质量的可衡量的改进。是一个例子。

橡皮擦控制

如果您知道背景颜色,则可以将其用作画笔颜色以产生橡皮擦的感觉。如果您不知道可以使用的背景

CGContextSetBlendMode(context, kCGBlendModeClear);

撤销重做

你可以使用NSUndoManager

于 2012-04-09T12:02:52.903 回答