Cocoa 2D图形:Quartz、Core Image还是Core Animation?

5

我已经阅读了几个小时文档,是关于在Objective-C Cocoa应用程序中绘制二维图形的。似乎有几种不同的技术都针对特定的任务。我的理解是以下技术分别做以下事情。如果我错了,请纠正我。

  • Quartz 2D:绘制形状、文本和图像到屏幕的主要库。
  • Core Graphics:这是包含Quartz的框架的名称。可以将其用作Quartz的同义词。
  • QuartzGL:一种GPU加速模式,不会默认启用,对于在屏幕上绘制东西并不一定更快。
  • OpenGL:最低级别的库,直接与图形卡通信,但代码行数更多。更适合于3D图形。
  • Core Image:用于显示图像和文本的库,但不太适合绘制形状基元。
  • Core Animation:用于自动动画化对象的库。显然不适合移动大量对象。也不适合连续动画化对象。
  • QuickTime:一个库,除了视频外还可以处理图像和文本,但可能不适合绘制基本形状。
我希望创建一个特定数据类型的浏览器,视图不会很复杂,只需要在特定位置绘制矩形。但是,用户应该能够通过向左或向右拖动视图来移动,并且这种移动应该是流畅的。以下是一个非常接近我想要制作的示例:

http://jbrowse.org/ucsc/hg19/

你推荐我从哪种绘图技术开始编程?

1个回答

5
你需要Quartz。除非你正在绘制大量数据,任何Mac(我假设是Mac而不是iOS)都应该轻松处理它。它易于使用、高效,并且可能会帮助你达到目标。对于拖动动作,你可能需要使用Core Animation图层。
注意:最终的所有内容都由AppKit(Mac)或UIKit(iOS)处理,并最终由Core Animation管理。如果你在处理图形,你将在某个时候遇到Core Animation,因为它管理着所有显示的内容。
注意:如果你正在绘制如此多的数据,你可以使用OpenGL,但即使这样,直到你开始显示可能有数百万个顶点或复杂的可视化效果,你也不会太需要它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接