Quartz2D(2D绘图引擎)
在这个框架下绘制图形的时候,应该新建一个继承于UIView的类:
重写一个drawRect方法:
-(void )drawRect:(CGRect )rect
{
//在这里面调用绘图的方法}
1.绘制直线
-(void )drawLine
{
//获取图形的上下文
CGContextRef ref=UIGraphicsGetCurrentContext();
//设置直线的起点
CGContextMoveToPoint(ref,x,y);
//设置直线的终点
CGContextAddLineToPoint(ref,x,y);
//设置直线的颜色
[ [ UIColor redColor] set];
//设置直线的宽度
CGContextSetLineWidth(ref , number);
//让直线渲染出来
CGContextStrokePath(ref);
}
在绘制直线的时候,可以多次绘制直线,仅仅获取一次上下文,渲染一次就好
2.绘制矩形
a.获取图形的上下文(同上)
b.绘制图形
CGContextAddRect(ref,CGRectMake(x,y,width,height));
c.设置边框颜色
[ [UIColor redColor] set ];
d.渲染边框颜色
CGContextStrokePath(ref);
e.设置填充色
[ [ UIColor redColor ]setFill ];
f.渲染填充色
CGContextFillPath(ref);
g.也可以同时渲染边框和填充色
CGContextDrawPath(ref,kCGPathFillStroke);
3.绘制三角形
a.获取上下文(同上)
b.设置直线的起点
CGContextMoveToPoint(ref,x,y);
c.设置第一条直线的终点
CGContextAddLineToPoint(ref,x,y);
d.设置第二条直线的终点
CGContextAddToPoint(ref,x,y);
e.设置图形闭合
CGContextClosePath(ref);
f.设置边框颜色,填充色,渲染边框和填充色(同上)
4.绘制圆
a.获取上下文
b.绘制圆
CGContextAddArc(ref,x,y,r,开始弧度,结束弧度,顺时针or逆时针【0 or 1】);
c.设置边框和填充色,渲染(同上)