为什么我的Core Graphics三角形在绘制时会被反转?

时间:2010-07-02 14:10:33

标签: iphone core-graphics

我使用以下代码,它在屏幕上绘制一个三角形。但由于某种原因,它显示下面的三角形。

以下是代码:

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code

    CGMutablePathRef path = CGPathCreateMutable(); 
    CGPathMoveToPoint(path,NULL,10.0f, 100.0f); 
    CGPathAddLineToPoint(path,NULL,100.0f,10.0f); 
    CGPathAddLineToPoint(path,NULL,100.0f,100.0f);
    CGPathAddLineToPoint(path,NULL,100.0f,100.0f);
    CGPathCloseSubpath(path); 
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    CGContextSetFillColorWithColor(ctx, [UIColor blueColor].CGColor); 
    CGContextAddPath(ctx, path); 
    CGContextFillPath(ctx); 


}

以下是结果:

      /|
     / |
    /  |
   /   |
  /    |
 /__ __|

但是当我在纸上画画时,我来到这个图表:

   ___________
   \         | 
    \        | 
     \       |
      \      |
       \\     |
          \
            \|

(嗯,你的想法是正确的)

我错过了什么!也许我不是在想。 x是水平的,y是垂直的。 (0,0)是原产权。

2 个答案:

答案 0 :(得分:2)

在您绘制的上下文中翻转Y轴。您可以在数学中调整它,也可以应用仿射变换将其翻转回来

答案 1 :(得分:0)