Почему мой треугольник основной графики переворачивается, когда я его рисую? - PullRequest
3 голосов
/ 02 июля 2010

Я использую следующий код, и он рисует треугольник на экране.Но по какой-то причине он отображает нижний треугольник.

Вот код:

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


}

и вот результат:

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

Но когда я нарисовал это на бумаге, я пришел к этой схеме:

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

(ну, вы правильно поняли)

Чего мне не хватает!Может быть, я не думаю прямо.х по горизонтали, а у по вертикали.(0,0) - право происхождения.

Ответы [ 2 ]

2 голосов
/ 02 июля 2010

Ось Y переворачивается в контексте, в который вы рисуете.Вы можете настроить это в своей математике или применить аффинное преобразование, чтобы перевернуть его обратно

0 голосов
/ 02 июля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...