如何檢查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;我只是想檢查它是封閉的或不是這樣。並且考慮到該區域,那麼形狀可以是任何類似三角形的形狀,因此該面積可以被計算爲所有不同的形狀(以平方英尺爲單位)。 –