2014-01-16 39 views
0

當我嘗試填充一個圖形時,它只填充圓弧。這裏要了解的圖片: 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); 

謝謝。請原諒我可憐的英語和我可憐的核心圖形知識。

回答

2

爲了使填充正常工作,您需要有一個封閉的路徑。每當你做一個CGContextMoveToPoint,你就會破壞這條路。嘗試刪除用於圓弧和矩形的第二側的CGContextMoveToPoint。如果圓弧和矩形不匹配,則可能需要翻轉CGContextAddArc中的起始和終止角度,因爲起始和終止點可能是錯誤的。

+0

非常感謝,它解決了我的問題 – Hugo