RotateCTM使图形消失,Quartz 2D

时间:2011-06-28 19:54:34

标签: iphone quartz-2d

首先,我是石英2d菜鸟。我有一个饼图,基本上想要在对角线上画出一条线,在东北象限,然后向右水平移动,并有一个标签说明该部分是什么。所以,我有这个代码绘制对角线。这条线向东南方向延伸。我希望基于iPhone的起源位于西北象限。所以我想我可以先将我的CTM旋转3pi / 2,然后让相同的代码工作。但是,当我取消注释CGContextRotateCTM()行时,我没有行。我不确定这里发生了什么以及逻辑错误在哪里。感谢。

   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);

1 个答案:

答案 0 :(得分:0)

似乎你正在旋转你的视线。始终牢记旋转中心 - 也许首先翻译您的CTM。

编辑:要检查,您可能需要逐步尝试非常小的旋转并观察线路的位置。