【发布时间】:2016-04-18 08:08:48
【问题描述】:
我想做类似的东西:
我尝试了以下代码:
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddLines(path, &CGAffineTransformIdentity, points, sizeof points / sizeof *points);
CGMutablePathRef strokePath = (CGMutablePathRef)CGPathCreateCopyByStrokingPath(path, &CGAffineTransformIdentity, data.lineWidth, kCGLineCapRound, kCGLineJoinMiter, 4.f);
for(NSInteger i = 0; i < [data.values count]; i++) {
CGRect rect = CGRectMake(points[i].x - data.dotRadius, points[i].y - data.dotRadius, data.dotRadius * 2, data.dotRadius * 2);
CGPathAddEllipseInRect(strokePath, &CGAffineTransformIdentity, rect);
CGPathAddEllipseInRect(strokePath, &CGAffineTransformIdentity, CGRectInset(rect, data.lineWidth, data.lineWidth));
}
然后绘制这条路径:
CAShapeLayer *layer = self.layers[line];
layer.path = strokePath;
layer.strokeColor = nil;
layer.fillColor = data.lineColor.CGColor;
layer.fillRule = kCAFillRuleEvenOdd;
Bt 给出类似的东西:
有谁知道我如何实现这一目标?
【问题讨论】:
标签: ios objective-c core-graphics