标签:动画 animation quartz uikit ios
1、 处理图形与动画的框架有
UIKit
高层次的框架,允许开发人员创建视图、窗口、按钮和其他UI相关的组件。它还将一些低级别的API引入到易于使用的高级别API中
Quartz 2D
iOS上绘图的主要引擎;UIKit就使用Quartz。
Core Graphics
它支持图形上下文、加载图像、绘制图像,等等。
Core Animation
顾名思义,是一个帮助开发者在IOS上实现动画的框架
2、 UIColor的set方法可设置Graphical context的颜色
- (void)drawRect:(CGRect)rect { UIColor *magentaColor = [UIColor colorWithRed:0.5f green:0.0f blue:0.5f alpha:1.0f]; [magentaColor set]; UIFont *helvetivaBold = [UIFont boldSystemFontOfSize:30]; NSString *myString = @”I Learn Really Fast”; [myString drawInRect:CGRectMake(100,120,100,200) withFont:helvetivaBold ]; }
3、 使用CGColorGetComponents函数可以获取组成颜色对象的各个分量
4、 使用CGColorGetNumberOfComponents可以获取组成该颜色的颜色分量的数量
5、 绘制图片有
a) drawAtPoint:UIImage的实例方法
b) drawInRect:UIImage的实例方法
6、 绘制线条的步骤
1)、为图形上下文选择一个颜色
2)、使用UIGraphicsGetCurrentContext函数获取图形上下文的句柄
3)、使用CGContextMoveToPoint过程设置线条的起点
4)、使用CGContextAddLineToPoint过程在图形上下文移动你的画笔来指定线条的终点
5)、使用CGContextStrokePath过程创建你已设定好的路径。此过程将使用图形上下文已经设置好的当前颜色来绘制路径
[[UIColor blueColor] set];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 5.0);
CGContextMoveToPoint(context, 50, 160);
CGContextAddLineToPoint(context, 150, 160);
CGContextAddLineToPoint(context, 150, 260);
CGContextAddLineToPoint(context, 50, 260);
CGContextAddLineToPoint(context, 50, 160);
CGContextSetLineJoin(context, kCGLineJoinBevel);
CGContextStrokePath(context);
7、 可以使用CGContextSetLineJoin来设置线与线连接点的样式
kCGLineJoinMiter
尖角的连接样式,这是默认的样式。
kCGLineJoinBevel
连接的拐角处是平角。
kCGLineJoinRound
就如字面意思,连接处为圆形。
8、 绘制路径
CGPathCreateMutable函数
创建一个类型为CGMutablePathRef的可变路径,并返回其句柄。每次使用完这个路径,我们都应该为它做善后工作。很快你就会看到。
CGPathMoveToPoint 过程
在路径上移动当前画笔的位置到一个点,这个点由CGPoint类型的参数指定。
CGPathAddLineToPoint过程
从当前的画笔位置向指定位置(同样的由CGPoint类型的值指定)绘制线段。
CGContextAddPath 过程
添加一个路径到图形上下文,准备用于绘图。
CGContextDrawPath 过程
在图形上下文中绘制给出的路径
CGPathRelease 过程
释放为路径句柄分配的内存
9、 绘制路径时的几种颜色填充
kCGPathStroke
使用当前选定的描边颜色为路径描边
kCGPathFill
使用当前选定的填充颜色填充路径所包围的区域
kCGPathFillStroke
组合描边和填充。使用当前选定的填充颜色填充路径,使用选定的描边颜色绘制路径的边缘。
标签:动画 animation quartz uikit ios
原文地址:http://blog.csdn.net/orlaneboy/article/details/37885239