/** 绘制直线 **/
- (void)drawRect:(CGRect)rect {
// 1.取得和当前视图相关联的图形上下文(因为图形上下文决定绘制的输出目标)
//如果是在drawRect方法中调用UIGraphicsGetCurrentContext方法,获取出来的就是layer的上下文
CGContextRef ctx =UIGraphicsGetCurrentContext();
//绘图(绘制直线)
//设置起点
CGContextMoveToPoint(ctx,10, 100);
//设置终点
CGContextAddLineToPoint(ctx,100, 100);
//设置绘图的状态
//设置线条颜色
CGContextSetRGBStrokeColor(ctx,0, 0,1.0, 1.0);
//设置线条宽度
CGContextSetLineWidth(ctx,10);
//设置线条起点和终点的样式
CGContextSetLineCap(ctx,kCGLineCapRound);
//设置线条的转角的样式
CGContextSetLineJoin(ctx,kCGLineJoinRound);
//绘制一条空心的线
CGContextStrokePath(ctx);
/******************分割线*****************************/
//设置第二条线的起点
CGContextMoveToPoint(ctx,50, 40);
//设置第二条直线的终点(自动把上一条的终点作为起点)
CGContextAddLineToPoint(ctx,80, 160);
//设置绘图的状态
//设置线条颜色
CGContextSetRGBStrokeColor(ctx,1.0, 0, 1.0,1.0);
//绘制图形(渲染图形到view上)
//绘制一条空心的线
CGContextStrokePath(ctx);
}
/** 绘制圆形:使用画弧的方式 **/
- (void)drawRect:(CGRect)rect {
//1.获取上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
//2.画圆弧
// x,y--圆心;radius--半径;startAngle--开始弧度;endAngle--结束弧度;clockwise--顺时针
CGContextAddArc(ctx, 100, 100, 50, 0, M_PI_2, 1);
CGContextClosePath(ctx);
[[UIColor purpleColor] set];
//3.渲染图形
CGContextStrokePath(ctx);
}
/** 绘制圆形 **/
- (void)drawRect:(CGRect)rect {
//1.获取上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
//2.画圆
CGContextAddEllipseInRect(ctx, CGRectMake(50, 50, 50, 50));
[[UIColor purpleColor] set];
//3.渲染图形
CGContextStrokePath(ctx);
}
/** 绘制饼状图 **/
- (void)drawRect:(CGRect)rect {
//1.获取上下文
CGContextRef ctx =UIGraphicsGetCurrentContext();
//2.画饼状图
//画线
CGContextMoveToPoint(ctx,100, 100);
CGContextAddLineToPoint(ctx,100, 150);
//画圆弧
CGContextAddArc(ctx,100, 100,50, M_PI_2,M_PI, 0);
//将起点和终点连接
CGContextClosePath(ctx);
[[UIColorpurpleColor] set];
//3.渲染图形
CGContextStrokePath(ctx);
}
/** 绘制矩形 **/
- (void)drawRect:(CGRect)rect {
//绘制多边形
NSLog(@"x=%f y=%f w=%f h=%f",rect.origin.x,rect.origin.y, rect.size.width, rect.size.height);
//1.获取上下文
CGContextRef ctx =UIGraphicsGetCurrentContext();
//2.绘制四边形
CGContextAddRect(ctx,CGRectMake(30,30, 100, 100));
//如果设置绘图的状态必须在渲染图形之前
// CGContextSetRGBStrokeColor(ctx, 0, 0, 1.0, 1.0);
//绘制什么图形(空心或实心),就要通过什么类型的方法设置状态
// CGContextSetRGBFillColor(ctx, 0, 0, 1.0, 1.0);
//调用oc的方法来设置绘图的颜色
// [[UIColor blueColor] setFill];
// [[UIColor blueColor] setStroke];
//调用oc的方法来设置绘图的颜色(同时设置了实心和空心)
// [[UIColor purpleColor] set];
[[UIColorcolorWithRed:0green:1.0blue:1.0alpha:1.0]set];
//3.渲染图形到layer上
// CGContextStrokePath(ctx);
CGContextFillPath(ctx);
}
/** 绘制三角形 **/
- (void)drawRect:(CGRect)rect {
//1.获取图形上下文
CGContextRef ctx =UIGraphicsGetCurrentContext();
//2.绘制三角形
//设置起点
CGContextMoveToPoint(ctx,100, 30);
//设置第二个点
CGContextAddLineToPoint(ctx,50, 100);
//设置第三个点
CGContextAddLineToPoint(ctx,150, 100);
//设置终点
// CGContextAddLineToPoint(ctx, 100, 30);
//关闭起点和终点
CGContextClosePath(ctx);
//3.渲染图形到layer上
CGContextStrokePath(ctx);
}
04-26
04-26
04-26
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交