我编写了我的第一个 iOS 应用程序 Amaziograph,它使用了 Core Graphics。我的应用程序是一个绘图应用程序,它使用绘制很多线条(最多 30 条线条,在不同的位置+一些阴影来模拟画笔模糊,并且它需要看起来好像所有线条都同时绘制)用CG,我发现它很慢。事实上,当我切换到 Retina 并尝试用手指只画一条线时,我需要等待一秒钟左右才能画出。
我意识到 Core Graphics 不再满足我的应用程序的要求,因为我想让它利用 Retina 显示器的优势并添加一些 Photoshop 风格的画笔。
我的问题是,有没有比 Core Graphics 更快、更强大但界面简单的图形库。我所需要的只是绘制具有大小、不透明度、柔软度的简单线条,并可能使用一些更高级的画笔。在看到 Apple 的 GLPaint 应用程序后,我想到了 OpenGL,但是对于所有这些帧缓冲区、上下文等,这对我来说似乎有点复杂。我正在寻找与 CG 意识形态相似的东西,因此重写我的代码不会花费太多时间。另外,现在我在 UIImage 视图中进行所有绘图,所以直接在 UIImages 上绘制会很好。
这是我现在用来绘制的代码的摘录:
//...Begin image contest >> draw the previous image in >> set stroke style >>
CGContextBeginPath(currentContext);
CGContextMoveToPoint(currentContext, lastPoint.x, lastPoint.y-offset);
CGContextAddLineToPoint(currentContext, currentPoint.x, currentPoint.y-offset);
CGContextStrokePath(currentContext);
//Send to an UIImage and end image contest...