如何切割椭圆?

时间:2013-07-17 10:45:13

标签: ios cashapelayer

我正在使用CAShapeLayer绘制拼图。绘制一条很容易的部分并且我也做了它。但是现在我想绘制椭圆切割椭圆的一部分。现在我的问题是如何使用CGPathAddEllipseInRect切割椭圆?这是我的代码:

CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    [shapeLayer setBounds:self.bounds];
    [shapeLayer setPosition:self.center];
    [shapeLayer setFillColor:[[UIColor clearColor] CGColor]];
    [shapeLayer setStrokeColor:[[UIColor blackColor] CGColor]];
    [shapeLayer setLineWidth:3.0f];

    // Setup the path
    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, 10, 10);
    CGPathAddLineToPoint(path, NULL, 75,10);
    CGPathAddEllipseInRect(path, NULL, CGRectMake(75, 10, 50, 20));
    [shapeLayer setPath:path];
    CGPathRelease(path);

    [[self layer] addSublayer:shapeLayer];

提示将不胜感激。

1 个答案:

答案 0 :(得分:1)

请勿使用CGPathAddEllipseInRect,而是需要计算起点和终点,并使用CGPathAddArcToPoint或更可能使用CGPathAddQuadCurveToPoint