原文链接:http://www.cnblogs.com/zhangying-domy/archive/2016/07/04/5640745.html
Quartz 2D 绘图技术原文:http://www.jianshu.com/p/020a81d625ee
//三角形
-(void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1, 0, 0, 1);
CGContextSetRGBFillColor(context, 0, 1, 0, 1);
CGContextSetLineWidth(context, 2.f);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineCap(context, kCGLineCapRound);
CGPoint apoint[3];
apoint[0] = CGPointMake(100, 120);
apoint[1] = CGPointMake(150, 120);
apoint[2] = CGPointMake(150, 160);
CGContextAddLines(context, apoint, 3);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
}
//矩形
-(void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1, 0, 0, 1);
CGContextSetRGBFillColor(context, 0, 1, 0, 1);
CGContextSetLineWidth(context, 2.f);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextAddRect(context, CGRectMake(100, 120, 50, 50));
CGContextDrawPath(context, kCGPathFillStroke);
}
//圆
-(void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1, 0, 0, 1);
CGContextSetRGBFillColor(context, 0, 1, 0, 1);
CGContextSetLineWidth(context, 2.f);
CGContextAddEllipseInRect(context, CGRectMake(100, 120, 200, 100));
CGContextDrawPath(context, kCGPathFillStroke);
}
//圆弧
-(void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1, 0, 0, 1);
CGContextSetRGBFillColor(context, 0, 1, 0, 1);
CGContextSetLineWidth(context, 2.f);
CGContextSetLineCap(context, kCGLineCapRound);
// 绘制圆弧方法1 (参数由左至右分别是,图形上下文、圆心x、圆心y、半径、起始弧度、结束弧度、圆弧伸展的方向(0为顺时针,1为逆时针))
CGContextAddArc(context, 150, 100, 100, arc(0), arc(160), 0);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
}
//�文字
-(void)drawRect:(CGRect)rect
{
NSString * str = @"www.jianshu.com";
NSMutableDictionary * attributes = [NSMutableDictionary dictionary];
attributes[NSFontAttributeName] = [UIFont systemFontOfSize:20];
attributes[NSBackgroundColorAttributeName] = [UIColor whiteColor];
attributes[NSForegroundColorAttributeName] = [UIColor redColor];
[str drawInRect:CGRectMake(100, 100, 200, 30) withAttributes:attributes];
}
//�图片
-(void)drawRect:(CGRect)rect
{
UIImage * image = [UIImage imageNamed:@"123456.jpg"];
[image drawInRect:rect];
}
-(void)drawRect:(CGRect)rect
{
//直线
[[UIColor redColor] setStroke];
UIBezierPath * path = [UIBezierPath bezierPath];
path.lineWidth = 2.0;
path.lineCapStyle = kCGLineCapRound;
path.lineJoinStyle = kCGLineJoinRound;
[path moveToPoint:CGPointMake(10, 20)];
[path addLineToPoint:CGPointMake(50, 20)];
[path closePath];
[path stroke];
//三角形
[[UIColor redColor] setStroke];
UIBezierPath * path1 = [UIBezierPath bezierPath];
path1.lineWidth = 2.0;
path1.lineCapStyle = kCGLineCapRound;
path1.lineJoinStyle = kCGLineJoinRound;
[path1 moveToPoint:CGPointMake(10, 30)];
[path1 addLineToPoint:CGPointMake(50, 30)];
[path1 addLineToPoint:CGPointMake(30, 60)];
[path1 closePath];
[path1 stroke];
//长方形
[[UIColor redColor] setStroke];
UIBezierPath * path2 = [UIBezierPath bezierPathWithRect:CGRectMake(10, 80, 100, 50)];
[path2 stroke];
//圆弧
[[UIColor redColor] setStroke];
UIBezierPath * path3 = [UIBezierPath bezierPathWithArcCenter:CGPointMake(200, 100) radius:50 startAngle:arc(0) endAngle:arc(120) clockwise:YES];
[path3 stroke];
//圆
[[UIColor redColor] setStroke];
UIBezierPath * path4 = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(200, 300, 100, 100) cornerRadius:50];
[path4 stroke];
[[UIColor redColor] setStroke];
UIBezierPath * path5 = [UIBezierPath bezierPath];
[path5 moveToPoint:CGPointMake(20, 200)];
[path5 addCurveToPoint:CGPointMake(120, 200) controlPoint1:CGPointMake(45, 150) controlPoint2:CGPointMake(95, 250)];
// [path5 addQuadCurveToPoint:CGPointMake(120, 200) controlPoint:CGPointMake(45, 150)];
[path5 stroke];
}
网友评论