Как проверить 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; Я просто хочу проверить, что он закрыт или нет. и взяв вокруг области, тогда форма могла бы быть любым подобным треугольником или так, поэтому область могла быть подсчитана для всех разных форм в квадратных футах. –