电源网站模版,进口彩妆做的好的网站,建站优化一条龙,网站推广优化网址这两种都可以用来画线#xff0c;前一种将整条线加入后画出#xff0c;后一种对每个点进行和前一个点的连线。 sample1-(void)drawLine:(YJLines *)line{ int count [line.points count]; CGPoint addLines[count]; for (int j0; j [line.points count]; j) { CGPoint …这两种都可以用来画线前一种将整条线加入后画出后一种对每个点进行和前一个点的连线。 sample1 -(void)drawLine:(YJLines *)line{ int count [line.points count]; CGPoint addLines[count]; for (int j0; j [line.points count]; j) { CGPoint point CGPointFromString((NSString *)[line.points objectAtIndex:j]); addLines[j].x point.x; addLines[j].y point.y; } CGContextRef context UIGraphicsGetCurrentContext(); CGContextSetLineJoin(context, kCGLineJoinRound); CGContextSetLineCap(context , kCGLineCapRound); CGContextSetBlendMode(context, kCGBlendModeNormal); CGContextBeginPath(context); CGContextAddLines(context, addLines, count); CGContextSetLineWidth(context, line.lineWidth); CGContextSetAlpha(context, line.lineAlpha); CGContextSetStrokeColorWithColor(context, line.lineColor.CGColor); CGContextStrokePath(context); } sample2 - (void) contextDrawFrom: (CGPoint)last toPoint:(CGPoint)current withLine:(YJLines *)ln { CGContextRef context UIGraphicsGetCurrentContext(); // CGContextSetMiterLimit(context, 0.5); CGContextSetLineJoin(context, kCGLineJoinRound); CGContextSetLineCap(context , kCGLineCapRound); CGContextSetBlendMode(context, kCGBlendModeNormal); CGContextBeginPath(context); CGContextMoveToPoint(context, last.x, last.y); CGContextAddLineToPoint(context, current.x, current.y); CGContextSetLineWidth(context, ln.lineWidth); CGContextSetAlpha(context, ln.lineAlpha); CGContextSetStrokeColorWithColor(context, ln.lineColor.CGColor); CGContextStrokePath(context); } AddLineToPoint实现方式在线条alpha为1,即不透明的时候和AddLines一样而且是实时画线。 但是当线条半透明的时候AddLines在一条线自身重叠时不会透明度重叠。 而AddLineToPoint却会导致透明度重叠且move touch的点出也会出现透明度重叠会显示成点和点之间透明度正确点上不透明的问题。转载于:https://www.cnblogs.com/pengyingh/articles/2403225.html