【问题标题】:Quartz2D good way to Draw point or line on touch?Quartz2D 在触摸时绘制点或线的好方法?
【发布时间】:2011-01-20 01:25:11
【问题描述】:

我正在尝试开发一个需要基于用户触摸进行绘图的应用。我正在使用 Quartz2D 和 CoreGraphics 进行绘图,现在我想知道管理我正在绘制的点的好方法是什么?目前我正在将每个 touchMoved 点添加到一个数组中,并在每次移动时设置它们。这非常快地滞后于系统。因此,我想知道是否有人知道在很长一段时间内通过用户触摸平滑绘制的好方法?谢谢!

【问题讨论】:

    标签: ios iphone core-graphics quartz-2d


    【解决方案1】:

    触摸事件被频繁触发。由于quartz2d 很慢,您的系统会饱和。

    几个选项

    • 切换到 opengl ^^(不过这有点过头了)

    • 不要对每一个事件都进行平局。让你触摸入睡(实际上那是一个 android 解决方案,所以我不确定它是否适合 Iphone),只从 x 行中画出 1 个。

    • 将您的触摸坐标存储在某处,当您的应用准备好刷新 ui 时,获取存储的当前值并进行绘制。

    • 我采用的另一种解决方案是测试新位置是否实际上从 las draw 移动了一定数量(比如说 1~3 px),这样我可以避免刷新和重绘,如果更新后的位置太小了。

    这只是指针,可能会有更好的选择^^

    【讨论】:

    • Switch to opengl ^^ (bu that is an overkill) 可以添加评论来总结这一行。我想切换到 openGL,但在此之前我想知道您评论背后的原因。
    猜你喜欢
    • 1970-01-01
    • 2016-05-16
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多