核心图形只是我身材的一部分

时间:2014-01-16 13:12:52

标签: ios objective-c uiview core-graphics

当我尝试填充数字时,它只会填充弧线。这是一张了解的图片: enter image description here

我想填充弧下的矩形,我不明白为什么它不会。

这是我的代码:

    CGContextSetStrokeColorWithColor(context, wormBorderColor);
    CGContextSetFillColorWithColor(context, wormFillColor);

    //Tracer la ligne de gauche
    CGContextMoveToPoint(context, leftX, startingY);
    CGContextAddLineToPoint(context, leftX, startingY-wormHeight);

    CGContextMoveToPoint(context, rightX, startingY-wormHeight);
    CGContextAddArc(context, centerX, startingY-wormHeight, echelleSize/2, 0,M_PI , 1);


    CGContextMoveToPoint(context, rightX, startingY-wormHeight);
    CGContextAddLineToPoint(context, rightX, startingY);


    //CGContextStrokePath(context);
    CGContextDrawPath(context, kCGPathFillStroke);

谢谢。请原谅我糟糕的英语和糟糕的核心图形知识。

1 个答案:

答案 0 :(得分:2)

要使填充正常工作,您需要有一个封闭的路径。每次执行CGContextMoveToPoint时,都会破坏路径。尝试删除弧的CGContextMoveToPoint和矩形的第二边。如果圆弧和矩形不匹配,则可能需要在CGContextAddArc中翻转起始和终止角度,因为它可能在错误的点开始和结束。