IOS(UI)_CGContextRef(绘画)

来源:互联网 发布:cf手游抢红包软件 编辑:程序博客网 时间:2024/05/16 18:07

绘画

一般创建UIView时都要一个drawRect在下面被注释掉
现在把注释去掉

//覆盖drawRect方法,可以在此自定绘画 和 动画- (void)drawRect:(CGRect)rect {}

绘画

//覆盖drawRect方法,可以在此自定绘画 和 动画- (void)drawRect:(CGRect)rect {    //一个不透明的Quartz 2D绘画环境,相当于一个画布,可以在上面任意绘画    CGContextRef context = UIGraphicsGetCurrentContext();    //设置画笔粗细    CGContextSetLineWidth(context, 1);    //设置画笔的颜色    CGContextSetRGBStrokeColor(context, 1, 1, 1, 1);    //设置填充颜色    CGContextSetRGBFillColor(context, 1, 0, 0, 1);    //画圆    CGContextAddArc(context, 100, 20, 15, 0, 2*M_PI, 0);    //绘制路径    CGContextDrawPath(context, kCGPathStroke);    //填充圆,无边框    CGContextAddArc(context, 150, 20, 15, 0, 2*M_PI, 1);    //绘制路径    /*     <#CGPathDrawingMode mode#>     kCGPathFill,   //填充非绕数规则     kCGPathEOFill, //表示用奇偶规则     kCGPathStroke, //路径     kCGPathFillStroke, //路径填充     kCGPathEOFillStroke    //表示描线     */    CGContextDrawPath(context, kCGPathFillStroke);    //画线及弧线    CGContextMoveToPoint(context, 100, 80); //移到开始坐标    CGContextAddLineToPoint(context, 130, 80);    CGContextDrawPath(context, kCGPathStroke);    //画笑脸    //左边    CGContextMoveToPoint(context, 140, 80); //开始坐标p1    CGContextAddArcToPoint(context, 148, 68, 156, 80, 10);    CGContextStrokePath(context);    //右边    CGContextMoveToPoint(context, 160, 80);    CGContextAddArcToPoint(context, 168, 68, 176, 80, 10);    CGContextStrokePath(context);    //画矩形    CGContextStrokeRect(context, CGRectMake(100, 120, 10, 10));    CGContextFillRect(context, CGRectMake(120, 120, 10, 10));    //矩形并填充    CGContextSetLineWidth(context, 2);    CGContextSetFillColorWithColor(context, [UIColor greenColor].CGColor);  //设置填充颜色    CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:34/255.0 green:199/255.0 blue:1 alpha:1].CGColor);  //线框颜色    //画方框    CGContextAddRect(context, CGRectMake(140, 120, 60, 30));    CGContextDrawPath(context, kCGPathFillStroke);    //画扇形    //以10为半径围绕圆心指定角度扇形    CGContextMoveToPoint(context, 160, 180);    CGContextAddArc(context, 160, 180, 10, 0, M_PI/2, 1);    CGContextClosePath(context);    CGContextDrawPath(context, kCGPathFillStroke);    //画椭圆    CGContextAddEllipseInRect(context, CGRectMake(200, 180, 60, 15));    CGContextDrawPath(context, kCGPathFillStroke);    //画贝塞尔曲线    //二次曲线    CGContextMoveToPoint(context, 120, 300);    CGContextAddQuadCurveToPoint(context, 190, 310, 120, 390);  //设置贝塞尔曲线的控制点坐标和终点坐标    CGContextStrokePath(context);    //三次曲线    CGContextMoveToPoint(context, 200, 300);    CGContextAddCurveToPoint(context, 250, 280, 250, 400, 280, 300);    CGContextStrokePath(context);    //图片    UIImage *image = [UIImage imageNamed:@"xx1.jpg"];    [image drawInRect:CGRectMake(60, 400, 200, 200)];    //iOS7.0新加的API    NSString *text = @"Rick";    [text drawAtPoint:CGPointMake(100, 100) withAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:18],NSForegroundColorAttributeName:[UIColor whiteColor]}];}
0 0
原创粉丝点击