我正在使用一些使用CGPath繪製圓弧的示例代碼。我查看了一下,發現了文檔,但我似乎無法想象在我的腦海中,使用MoveToPoint,AddLineToPoint等方面發生了什麼。我無法「看到」代碼在做什麼,我只能看到結果。如何繪製從頂部開始的圓圈
例如下面的代碼從3點位置開始繪製一個完整的360度弧。對於我的生活,我無法弄清楚如何從12點鐘的位置開始,實際旋轉90度。
有人可以幫我弄清楚這段代碼,以及如何改變它以實現從12點開始,最好試圖解釋這整個路徑的工作原理。或者,也許可以將我指向一個視覺資源在線?
- (void)drawPathWithArc:(CGFloat)arc {
CGMutablePathRef thePath = CGPathCreateMutable();
CGPathMoveToPoint(thePath, NULL, 100.f, 100.f);
CGPathAddLineToPoint(thePath, NULL, 200.f, 100.f);
CGPathAddArc(thePath, NULL, 100.f, 100.f, 100.f, 0.f, (360* M_PI)/180, NO);
CGPathCloseSubpath(thePath);
shapeLayer_.path = thePath;
CGPathRelease(thePath);
}
很有道理謝謝。我有一個想法,它是按照你所描述的方式,但是我懷疑我對它的理解,因爲它按照我的意願工作。事實證明,由於其他問題,它沒有工作。 – dubbeat 2011-03-03 22:25:23
@dubbeat - 如果您想了解更多關於Quartz繪圖的信息,我在我的答案[這裏]中指出了一些資源(http://stackoverflow.com/questions/3463256/what-are-some-great-石英-2D-拉出教程/ 3464136#3464136)。 – 2011-03-04 18:39:10
謝謝布拉德。那裏有很多有用的材料 – dubbeat 2011-03-07 09:51:05