笃定 思考 践行…

*重新定义UIView 并在drawRect:(CGRect) rect;中绘制

1.绘制路径

_context=UIGraphicsGetCurrentContext();CGMutablePathRef path=CGPathCreateMutable();CGPathMoveToPoint(path, NULL, 50, 50);CGPathAddLineToPoint(path, NULL, 150, 150);CGPathAddLineToPoint(path, NULL, 50, 150);CGPathCloseSubpath(path);CGContextAddPath(_context, path);CGFloat myColor[4]={1.0f,1.0f,0,1.0f};CGContextSetFillColor(_context,myColor);CGContextSetStrokeColor(_context, myColor);CGContextSetShouldAntialias(_context, NO);CGContextSetLineWidth(_context, 15.0);CGContextSetLineJoin(_context, kCGLineJoinRound);CGContextDrawPath(_context, kCGPathStroke);CGPathRelease(path);CGContextRelease(_context);2.绘制矩形

CGRect rect2=CGRectMake(0, 0, 200, 200);CGContextSetStrokeColorWithColor(_context, [UIColor redColor].CGColor);CGContextSetLineWidth(_context, 2.0);CGContextStrokeRect(_context, rect2);3.绘制渐变

_context=UIGraphicsGetCurrentContext();//颜色模式CGColorSpaceRef colorSpace=CGColorSpaceCreateDeviceRGB();//构建颜色值NSArray *colors=@[(__bridge id)[UIColor redColor].CGColor,(__bridge id)[UIColor greenColor].CGColor];//颜色点的位置CGFloat location[2]={0,1};//设置渐变模式CGGradientRef gradient=CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)colors,location);CGContextSaveGState(_context);CGRect rect2=CGRectMake(0, 0, 150, 150);//绘制区域CGContextAddRect(_context, rect2);//区域裁剪CGContextClip(_context);//裁剪位置CGContextDrawLinearGradient(_context, gradient, CGPointMake(0, 0), CGPointMake(150, 150),kCGGradientDrawsAfterEndLocation);CGContextRestoreGState(_context);//释放资源CGColorSpaceRelease(colorSpace);CGGradientRelease(gradient);CGContextRelease(_context);4.绘制文字

</pre><pre name="code" class="objc">NSString *str=[UIFont fontWithName:@"Gill Sans" size:30];NSString *drawText=@"hello !";[drawText drawAtPoint:CGPointMake(30, 100) withFont:str];5.绘制图片

UIImage *image=[UIImage imageNamed:@"头像2.png"];[image drawAtPoint:CGPointMake(30, 30)];CGImageRelease([image CGImage]);6.贝塞尔曲线绘制

//绘制线UIBezierPath *path=[UIBezierPath bezierPath];[path moveToPoint:CGPointMake(30, 30)];[path addLineToPoint:CGPointMake(30, 120)];[path addLineToPoint:CGPointMake(120, 120)];[path closePath];//绘制圆UIBezierPath *path=[UIBezierPath bezierPathWithArcCenter:CGPointMake(100, 100) radius:100.0 startAngle:0 endAngle:180 clockwise:YES];//绘制矩形UIBezierPath *path=[UIBezierPath bezierPathWithRect:CGRectMake(20, 20, 150, 150)];//绘制椭圆UIBezierPath *path=[UIBezierPath bezierPathWithOvalInRect:CGRectMake(10, 10, 120, 60)];//设置颜色[[UIColor redColor]set];path.lineWidth=5;[path fill];[[UIColor yellowColor]set];[path stroke];7.保存绘制环境,在绘制过程中 属性可能需要保存到栈中 这时候调用CGContextSaveGState进行保存,

并在需要的时候通过CGContextRestoreGState进行恢复。

,找寻隐藏在山间的纯净和那“鸟鸣山更幽”的飞鸟。

笃定 思考 践行…

相关文章:

你感兴趣的文章:

标签云: