Как вращать cgpath перед его рисованием? - PullRequest
1 голос
/ 13 декабря 2010

Я могу нарисовать путь ... и я уверен, что мне нужно использовать аффинное преобразование.

Чего я не понимаю, так это как повернуть путь и сохранить тот же центр.

Я прошу прощения за отсутствие кода здесь ... но все, что у меня есть, это неудачный вызов CGContextRotateCTM, который, казалось, остановил все рисование.

1 Ответ

3 голосов
/ 20 января 2011

Чтобы повернуть вокруг центра:

CGContextTranslateCTM (ctx, center.x, center.y);
CGContextRotateCTM (ctx, angleInRadians);
CGContextTranslateCTM (ctx, -center.x, -center.y);
CGContextAddPath (ctx, path);

У меня могут быть знаки перевода назад (т.е. отрицательный перевод до вращения, а не после), хотя я считаю, что методы CTM предварительно согласованы, поэтому математическое представлениеиз этих вызовов

CTMnew = -T * R * T * CTMcurrent
...