我已经阅读了几个小时关于在 Objective-C 可可应用程序中绘制二维图形的文档。似乎有几种不同的技术都特定于某些任务。我的理解是,以下技术会做以下事情。如果我错了,请纠正我。
- Quartz 2D:用于在屏幕上绘制形状、文本和图像的主要库。
- Core Graphics:这是包含 Quartz 的框架的名称。这可以用作 Quartz 的同义词。
- QuartzGL:Quartz 的一种 GPU 加速模式,默认情况下未启用,在屏幕上绘图不一定更快。
- OpenGL:最底层的库,以更多代码行为代价直接与显卡对话。更适合 3D 图形。
- 核心图像:一个用于显示图像和文本的库,但不是用于绘制形状图元。
- 核心动画:用于自动动画对象的库。显然不适合移动大量物体。也不用于对象的连续动画。
- QuickTime:一个显然除了视频之外还可以处理图像和文本的库,但可能不适合绘制原始形状。
我想做的是为某些特定类型的数据创建一个浏览器。该视图不会很复杂,并且将包括在特定位置绘制矩形。但是,用户应该能够通过向左或向右拖动视图来四处移动,并且这种移动应该是流畅的。这是一个非常接近我想要做的例子:
你会推荐我用什么绘图技术开始编码?