如何检查UIBezierPath
是否为封闭路径(封闭路径就像是封闭的轮廓意味着它会创建像三角形,正方形,多边形等任何形状),如果封闭,那么只填写路径?检查UIBezierPath是否关闭
以下代表应该填充形状的区域;最后2形状限定闭合轮廓和简单闭合轮廓,其在唯一的颜色可被填充:
以下是我的相同的代码,有4个方块在它,但在填充只有3个方格;还想知道是否有可能找到填充面积以平方英尺为单位,因为我在这里得到4个方格,如何检查它在4个方格中覆盖的总面积?
UIBezierPath *mainPath =[UIBezierPath bezierPath];
[mainPath moveToPoint:CGPointMake(50, 100)];
[mainPath addLineToPoint:CGPointMake(0, 100)];
[mainPath addLineToPoint:CGPointMake(0, 150)];
[mainPath addLineToPoint:CGPointMake(50, 150)];
[mainPath addLineToPoint:CGPointMake(50, 200)];
[mainPath addLineToPoint:CGPointMake(100, 200)];
[mainPath addLineToPoint:CGPointMake(100, 150)];
[mainPath addLineToPoint:CGPointMake(50, 150)];
[mainPath addLineToPoint:CGPointMake(50, 100)];
[mainPath addLineToPoint:CGPointMake(100, 100)];
[mainPath addLineToPoint:CGPointMake(150, 100)];
[mainPath addLineToPoint:CGPointMake(150, 150)];
[mainPath addLineToPoint:CGPointMake(100, 150)];
[mainPath addLineToPoint:CGPointMake(100, 100)];
CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
shapeLayer.lineWidth = 5.0;
shapeLayer.strokeColor = [UIColor blueColor].CGColor;
shapeLayer.path =mainPath.CGPath;
shapeLayer.fillColor = [[UIColor redColor] colorWithAlphaComponent:0.5].CGColor;
[[self.view layer] addSublayer:shapeLayer];
好,被动态地添加所有行,我不想closePath;我只是想检查它是封闭的或不是这样。并且考虑到该区域,那么形状可以是任何类似三角形的形状,因此该面积可以被计算为所有不同的形状(以平方英尺为单位)。 –