iOS图形绘制

当view调用[view setNeedsDisplay]方法时,drawRect方法就会被调用, drawRect是图形绘制方法,要在view上绘图,绘制的代码必须写在这个view的drawRect方法中,绘制的图形实质上是画到了view.layer上
- (void)drawRect:(CGRect)rect {

CGContextRef:图形绘制上下文;UIGraphicsGetCurrentContext():获得当前绘制对象的上下文
    CGContextRef context = UIGraphicsGetCurrentContext ();
   
设置绘制上下文的线条宽度
    CGContextSetLineWidth(context, 5 );
   
设置绘制线条的颜色
    CGContextSetStrokeColorWithColor(context, [[UIColor blueColor]CGColor ]);
   
设置绘制线条的RGB颜色
    CGContextSetRGBStrokeColor(context, 25/255.0, 25/255.0, 25/255.0, 0.8);
   
设置线条端点的形状
    CGContextSetLineCap(context, kCGLineCapRound );
   
把编辑位置(笔尖)移动到某一点
    CGContextMoveToPoint(context, 40, 40 );
   
画一条直线到某一点
    CGContextAddLineToPoint(context, 100, 40);
   
   
CGContextAddLineToPoint(context, 100, 100
);
   
设置线段拐角的形状
    CGContextSetLineJoin(context, kCGLineJoinRound );
   
设置线条闭合
    CGContextClosePath (context);
   
CGContextDrawPath把设计好的绘制路径绘制到上下文中,第二个属性为绘制模式,画线(stroke)和填充(Fill)
    CGContextDrawPath(context, kCGPathStroke );
   
画矩形
    CGContextAddRect(context, CGRectMake(130, 40, 100, 50));
   
设置填充颜色
    CGContextSetFillColorWithColor(context, [[UIColor greenColor]CGColor]);
   
   
CGContextDrawPath(context, kCGPathFillStroke);
   
  画圆形   
    CGContextMoveToPoint(context, 40, 40);
   
   
CGContextAddArcToPoint(context, 100, 40, 100, 100, 80);
   
   
CGContextDrawPath(context, kCGPathStroke);
   
画曲线
    CGContextMoveToPoint(context, 100, 200);
   
   
CGContextAddQuadCurveToPoint(context, 100, 400, 320,250);
   
   
CGContextDrawPath(context, kCGPathStroke);
   
画扇形
    CGContextMoveToPoint(context, 50, 300);
   
CGContextAddArc(context, 100, 450, 100, 60*M_PI/180, 180*M_PI/180, 0);
   
CGContextClosePath(context);
   
CGContextDrawPath(context, kCGPathStroke);
   
   
画图片
    UIImage * img = [UIImage imageNamed:@"ee.jpg" ];
    drawInRect是把图片绘制到当前的图形绘制上下文中
    [img drawInRect:CGRectMake(200, 400, 100, 100)];
   
文本绘制,把文本绘制到当前的图形绘制上下文中
    [@"这是文本绘制" drawInRect:CGRectMake(250, 120, 60,30) withAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值