CoreGraphics,QuartzCore, CoreAnimation区别

CoreGraphics(核心图形)

       它是iOS的核心图形库,包含Quartz2D绘图API接口,常用的是point,size,rect等这些图形,都定义在这个框架中,类名以CG开头的都属于CoreGraphics框架,它提供的都是C语言函数接口,是可以在iOS和mac OS 通用的。

       iOS系统本身提供了两套绘图的框架,即UIBezierPath 和 Core Graphics。而前者所属UIKit,其实是对Core Graphics框架关于path的进一步封装,所以使用起来比较简单。但是毕竟Core Graphics更接近底层,所以它更加强大。

QuartzCore

       Quartz是位于Mac OS X的Drawin核心之上的绘图层,这个框架感觉不是很清晰,但是看头文件可以发现,它就是CoreAnimation,这个框架头文件只包含了CoreAnimation.h

CoreAnimation(核心动画)

        CoreAnimation翻译过来就是核心动画,一组非常强大的API,用来做动画的,非常的简单,但是效果非常绚丽。

1. CoreAnimation是跨平台的,既可以支持IOS,也支持MAC OS。

2. CoreAnimation执行动画是在后台,不会阻塞主线程。

3. CoreAnimation作用在CALayer,不是UIView。

4. CoreGraphics和CoreAnimation的关系:它们都是跨iOS和Mac OS 使用的,这点区别于UIKit,并且CoreAnimation中大量使用到CoreGraphics中的类,因为实现动画要用到图形库中的东西。

5. 可以看出,CoreGraphics是底层绘制框架,我们实际会用到的也就是CG开头的一些底层绘制函数和变量,这是一个纯C语言框架。

6. QuartzCore(包含CoreAnimation)框架,是iOS系统的基本渲染框架,是一个OC语言框架,是一套基于CoreGraphics的OC语言封装,封装出了基本渲染类CALayer

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,743评论 4 61
  • 今天小筝结婚,我是唯一哭了的那个。 为她哭,还是为自己哭。 应该打个问号。 原来幻想过无数次,我们站在婚礼仪式现场...
    hang鱼阅读 1,747评论 0 0
  • 沉寂农庄隐约灯,远映天幕缀疏星。 劳力倦乏归来晚,茕独厌听一树声。
    陽春阅读 2,454评论 0 7

友情链接更多精彩内容