2010-09-13 2 views
1

Я хочу повернуть изображение в кварце 2d вокруг одного угла..и хочу сделать аналоговые часы.вращающееся изображение в кварце 2d

+0

хорошо для вас ... вы уже пытались что-то сделать? – Vladimir

+0

да, я попытался повернуть с помощью cgaffine, но он вращается вокруг его центра не вокруг одного угла ... –

+0

хороший вопрос, но сделайте знак вопроса (?) – Saawan

ответ

1

Возможно, вы должны начать с Quartz 2D Programming Guide. В частности, посмотрите раздел о преобразованиях, это касается поворота.

По существу, вам нужно применить матрицу преобразования для вращения к матрице трансформации тока (CTM). Это определяет отображение отображаемых координат и координат, отображаемых на устройстве пользователя.

Кварц делает это достаточно простым в коде; ссылка выше содержит пример кода.

+0

спасибо ... но могу ли я повернуть изображение с одним концом стабильного и другого конца вращаясь вокруг него .. как руки часов ... не могли бы вы привести мне пример ...? –

+0

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

1

Например, вы могли бы сделать что-то вроде:

CGAffineTransform transform = CGAffineTransformMakeRotation(ANGLE_IN_RADIANS); 
view.transform = transform;

И если вы хотите, плавную анимацию, попробуйте использовать UIView анимации.

Но если вам нужен другой поворот, вы должны проверить документацию :-)

Good Luck!

Смежные вопросы