美文网首页
Core Graphics

Core Graphics

作者: sea777777 | 来源:发表于2016-06-14 11:13 被阅读24次

-(void)drawRect:(CGRect)rect

{

//    CGContextRef context = UIGraphicsGetCurrentContext();

//    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);

//画弧线

//    CGContextMoveToPoint(context, 50, 0);

//    CGContextAddArc(context, 50, 50, 50, 270*M_PI/180, 0, 0);

//    CGContextStrokePath(context);

//画椭圆形

//    CGContextAddEllipseInRect(context, CGRectMake(0, 0, 300, 300));

//    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);

//    CGContextFillPath(context);

//画曲线

CGContextRefcontext =UIGraphicsGetCurrentContext();

CGContextSetLineWidth(context,1);

CGContextSetStrokeColorWithColor(context, [UIColorredColor].CGColor);

CGContextMoveToPoint(context,100,100);

//(150, 100):控制点,(200, 200):终点

CGContextAddQuadCurveToPoint(context,150,100,200,200);

CGContextStrokePath(context);

//贝塞尔路径画圆

UIBezierPath*bezierPath = [UIBezierPathbezierPathWithArcCenter:CGPointMake(120,120)

radius:100

startAngle:(CGFloat) -M_PI_2

endAngle:(CGFloat)2*M_PI*_progress

clockwise:YES];

bezierPath.lineWidth=10;

[[UIColorblueColor]setStroke];

[bezierPathstroke];

//CAShapeLayer

}

//动态更新贝塞尔路径

-(void)startAnimation

{

NSTimer*timer = [NSTimerscheduledTimerWithTimeInterval:1

target:self

selector:@selector(update)

userInfo:nil

repeats:YES];

[timerfire];

}

-(void)update

{

_progress+=0.1;

[selfsetNeedsDisplay];

}

//蒙版

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

UIImageView*backgroundImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(40,80,198,162)];

UIImageView*maskImageView = [[UIImageViewalloc]initWithFrame:backgroundImageView.bounds];

[maskImageViewsetImage:[UIImageimageNamed:@"bg.png"]];

backgroundImageView.layer.mask= maskImageView.layer;

UIImageView*imageView = [[UIImageViewalloc]initWithFrame:backgroundImageView.bounds];

[imageViewsetImage:[UIImageimageNamed:@"RI8[50WUPQ@TR~917UULUCR.jpg"]];

[backgroundImageViewaddSubview:imageView];

[self.viewaddSubview:backgroundImageView];

}

例子:

- (instancetype)initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];

if (self) {

[self setBackgroundColor:[UIColor clearColor]];

}

return self;

}

- (void)drawRect:(CGRect)rect {

// Drawing code

CGContextRef ctx =  UIGraphicsGetCurrentContext();

//圆形

CGContextSetStrokeColorWithColor(ctx, [UIColor whiteColor].CGColor);

CGContextAddEllipseInRect(ctx,CGRectMake(0, 0, 100,100));

CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);

CGContextFillPath(ctx );

self.backgroundColor = [UIColor redColor];

//直线

//    [[UIColor redColor] set ];

//    CGContextSetLineWidth(ctx, 3);

//    CGContextMoveToPoint(ctx, 0, 100);

//    CGContextAddLineToPoint(ctx, 500, 100);

//    CGContextStrokePath(ctx);

//绘制图片

UIImage *img = [UIImage imageNamed:@"test"];

[img drawAtPoint:CGPointMake(0, 200)];

}

相关文章

网友评论

      本文标题:Core Graphics

      本文链接:https://www.haomeiwen.com/subject/erhudttx.html