Перевод графического контекста - PullRequest
1 голос
/ 23 марта 2012

В следующем коде ниже я пытаюсь перевести или более графический контекст, для которого я использую CoreText для рисования. Первые четыре строки кода переворачивают систему координат, поскольку CoreText использует начало координат из нижнего левого угла. После того, как система координат перевернута, мне нужно переместить графический контекст вниз по оси Y на величину textFrameOriginY. Однако следующий код, который я использую, не работает. Я не очень знаком с графикой, и мне было интересно, если я что-то не так делаю?

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetTextMatrix(context, CGAffineTransformIdentity);
    CGContextTranslateCTM(context, 0, self.bounds.size.height);
    CGContextScaleCTM(context, 1.0, -1.0);

    CGContextTranslateCTM(context, 0, textFrameOriginY);

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

После того, как вы перевернули систему координат, вниз отрицателен, а вверх положителен, поэтому ваш второй перевод должен быть -textFrameOriginY?

Предполагая, что это в -drawRect: - помните, что вы не можетерисовать за пределами ваших границ, это должно помочь вам с отладкой проблемы ...

1 голос
/ 23 марта 2012

Эта строка должна быть,

CGContextTranslateCTM(context, 0, viewHeight-textFrameOriginY);

, чтобы получить правильное размещение.

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