CoreGraphics,QuartzCore, CoreAnimation
来源:互联网 发布:python循环读取文件 编辑:程序博客网 时间:2024/06/04 17:59
CoreGraphics:
它是iOS的核心图形库,平时使用最频繁的point,size,rect等这些图形,都定义在这个框架中,类名以CG开头的都属于CoreGraphics框架,它提供的都是C语言的函数接口,是可以在ios和mac os通用的。
QuartzCore:
这个框架的名称感觉不是很清晰,不明确,但是看它的头文件可以发现,它其实就是CoreAnimation,这个框架的头文件只包含了CoreAnimation.h
CoreAnimation:
核心动画,顾名思义,想要做动画就使用CA开头的就没错。
CGAffineTransformMakeTranslation(width, 0.0);是改变位置的,
CGAffineTransformRotate(transform, M_PI);是旋转的。
CGAffineTransformMakeRotation(-M_PI);也是旋转的
transform = CGAffineTransformScale(transform, -1.0, 1.0);是缩放的。
view.transform = CGAffineTransformIdentity;线性代数里面讲的矩阵变换,这个是恒等变换
当你改变过一个view.transform属性或者view.layer.transform的时候需要恢复默认状态的话,记得先把他们重置可以使用 view.transform = CGAffineTransformIdentity, 或者view.layer.transform = CATransform3DIdentity。
假设你一直不断的改变一个view.transform的属性,而每次改变之前没有重置的话,你会发现后来的改变和你想要的发生变化了,不是你真正想要的结果
Quartz转换实现的原理:Quartz把绘图分成两个部分,
用户空间,即和设备无关,
设备空间,
用户空间和设备空间中间存在一个转换矩阵 : CTM
本章实质是讲解CTM
Quartz提供的3大功能
移动,旋转,缩放
演示如下,首先加载一张图片
void CGContextDrawImage (
CGContextRef c,
CGRect rect,
CGImageRef image
);
移动函数
CGContextTranslateCTM (myContext, 100, 50);
旋转函数
include
static inline double radians (double degrees) {return degrees * M_PI/180;}
CGContextRotateCTM (myContext, radians(–45.));
缩放
CGContextScaleCTM (myContext, .5, .75);
翻转, 两种转换合成后的效果,先把图片移动到右上角,然后旋转180度
CGContextTranslateCTM (myContext, w,h);
CGContextRotateCTM (myContext, radians(-180.));
0 0
- CoreGraphics,QuartzCore, CoreAnimation
- CoreGraphics QuartzCore CGContextTranslateCTM 用法
- CoreGraphics.h和QuartzCore
- CoreGraphics QuartzCore CGContextTranslateCTM 用法
- CoreGraphics QuartzCore CGContextTranslateCTM 用法
- ios CoreAnimation(QuartzCore.framework)
- CoreAnimation 和 CoreGraphics
- 对CoreGraphics和QuartzCore的理解
- iOS quartzCore第九章—— CoreAnimation
- iOS CoreAnimation(三)CoreGraphics绘图,drawRect,CALayerDelegate,displayLayer
- QuartzCore
- QuartzCore
- QuartzCore
- QuartzCore
- CALayer的transform属性(QuartzCore框架)和view的transform属性(CoreGraphics框架)
- CoreGraphics
- CoreGraphics
- CoreGraphics
- java数组--冒泡排序
- 安卓高仿IOS按钮
- 软件设计原则(七)合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)
- 一分钟了解JAVA代理模式
- 用sqlplus和plsql无法连接Oracle数据库系统问题
- CoreGraphics,QuartzCore, CoreAnimation
- android支付宝支付工具类
- java中的类成员
- xcode 蓝色与黄色文件夹
- redis获取不到连接
- 新的开始
- 静态ip--dns
- 【IT软技能】Sublime 下载+激活+快捷键
- jquery 键盘操作解析与模拟