关于quartz2d,核心图形,核心动画,核心图像的混淆

sup*_*era 23 ios

我正在开发一个需要一些图像处理的项目,我也问了一些关于它的问题,我得到了非常好的解决方案,这是通过选择不同的属性在iOS中创建全新图像的链接

但现在我想更详细地了解这一点,我很困惑,我应该从哪里开始学习石英2d或核心动画或核心图形或核心图像

苹果文件说关于石英2d那个

Quartz 2D API是Core Graphics框架的一部分,因此您可能会看到Quartz被称为Core Graphics,或简称为CG.

和苹果文档说关于核心图形

Core Graphics框架是基于C语言的API,它基于Quartz高级绘图引擎.

这令人困惑,他们彼此之间的关系......

现在,核心动画包含绘制图像时也需要的坐标,边界,框架等所有概念

和核心图像在ios 5中引入

我应该从哪里开始学习,或者我从哪个序列开始学习所有这些.

Con*_*ltz 52

Quartz和Core Graphics实际上是同义词.我倾向于避免使用"Quartz",因为这个术语非常容易混淆(实际上,包含Core Animation的框架是"QuartzCore",令人感到困惑).

我会说:

  • 学习Core Graphics(CoreGraphics.framework),如果你需要高性能矢量绘图(线条,矩形,圆形,文本等),可能与位图/光栅图形混合,只需简单的修改(例如缩放,旋转,边框等).Core Graphics不是特别适合更高级的位图操作(例如色彩校正).它可以在位图/光栅操作方面做很多事情,但它并不总是显而易见或直截了当.简而言之,Core Graphics最适合"Illustrator/Freehand/OmniGraffle"类型使用.

  • 学习Core Animation(QuartzCore.framework内部)是否需要为内容制作动画.使用基本的UIView功能,基本动画(例如在屏幕上移动视图)可以完全不使用Core Animation,但如果你想做更高级的动画,Core Animation就是你的朋友.有点不直观的是,Core Animation也是CALayer系列课程的所在地,除了可动画之外,还可以让你做一些更有趣的事情,比如快速(尽管表现不佳)的视角和3D变换(给你一些可能的想法)作为"穷人的OpenGL").但它主要用于动画内容(或内容属性,如颜色和不透明度).

  • Core Image如果您需要高性能,像素精确的图像处理,请学习(QuartzCore.framework内部).这可能是从色彩校正到镜头光晕到模糊以及介于两者之间的任何事物.Apple发布了一个过滤器引用,该引用枚举了可用的各种预构建的Core Image过滤器.你也可以写自己的,虽然这不一定适合胆小的人.简而言之,如果您需要实现"[选择您最喜欢的照片编辑器]过滤器"之类的东西,那么Core Image就是您的首选.

这是否澄清了问题?

  • 哦,还有一件事:我鼓励你在未来对资本化和标点符号采取更多关注.很难阅读连续的句子,你会失去一些潜在的回答者的注意力. (5认同)

Ari*_*sky 5

核心动画(Core Animation)是一项非常依赖OpenGL的技术,这意味着其绑定了GPU。

另一方面,Core Graphics使用CPU进行渲染。它比Core Animation精确得多(像素方式),但是会使用您的CPU。

  • 我不相信这个答案是准确的。 (3认同)