2011-06-28 104 views
0

首先,我是一個石英二維noob。我有一張餅圖,基本上想要在東北象限內對角線地出現一條線,然後水平向右,並且有一個標籤來解釋該部分是什麼。所以,我有這個代碼繪製了對角線。線路向東南方向延伸。我預計iPhone的發源地位於西北象限。所以我想我可以先以3pi/2旋轉我的CTM,然後使用相同的代碼。但是,當我取消註釋CGContextRotateCTM()行時,我得不到任何行。我不確定這裏發生了什麼以及邏輯錯誤在哪裏。謝謝。RotateCTM使圖形消失,石英2D

CGPoint circleCenter = CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2); 
    CGContextSetFillColorWithColor(context, [[UIColor whiteColor] CGColor]); 
    CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0); 
    CGContextSetLineWidth(context, LINE_WIDTH); 
    CGContextBeginPath(context); 
// CGContextRotateCTM(context, 3 * M_PI/2); 
    CGContextMoveToPoint(context, circleCenter.x + self.CircleRadius/2, circleCenter.y + self.CircleRadius/2); 
    CGContextAddLineToPoint(context, circleCenter.x + self.CircleRadius/2 + LINE_LENGTH, circleCenter.y + self.CircleRadius/2 + LINE_LENGTH); 
    CGContextStrokePath(context); 

回答

0

似乎你旋轉你的行的視線。請始終記住您旋轉的中心 - 也許還要先翻譯您的CTM。

編輯:爲了檢查,你可能想增量嘗試非常小的旋轉,並觀察你的線路去哪裏。