Как анимировать изображение на экран - PullRequest
0 голосов
/ 07 февраля 2012

Я новичок в Objective-C и хочу сделать снимок экрана, сделанный с

CGSize imageSize = [[UIScreen mainScreen] bounds].size;
...
UIGraphicsBeginImageContext(imageSize);
...
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

«влететь» (вращаться и останавливаться в произвольном углу) внутри собственного контейнера изображений, похожего на маленькую фотографию (тень, белая рамка). как я мог понять это?

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

Поскольку у вас есть неопределенный вопрос - а ваш код показывает только то, как вы получаете изображение на экране - вот общий ответ.

  • Поместите изображение на CAImageLayer
  • Добавитьграница, тень или любой другой хром, необходимый для слоя изображения (или на другом слое под ним)
  • Использование Core Animation для анимации этого CAImageLayer в любой позиции или состоянии, в котором вы хотите, чтобы он находился.
1 голос
/ 07 февраля 2012

Вы можете сделать это с помощью OpenGL ES.

Вот отличный проект, который предоставляет базовый базовый класс перехода представления OpenGL ES. https://github.com/epatel/EPGLTransitionView

Есть несколько предопределенных переходов, которые вы можете взять в качестве примера https://github.com/epatel/EPGLTransitionView/tree/master/src

Demo3Transition фактически показывает, как вращать скриншот https://github.com/epatel/EPGLTransitionView/blob/master/src/Demo3Transition.m

Вы можете просмотреть доступные переходы в действиях, если запустите DemoProject.

...