CALayer renderInContext - PullRequest
       7

CALayer renderInContext

6 голосов
/ 16 ноября 2009

Я использую

CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;

Это успех, но я использую "renderInContext: context", получаю CGImage из контекста, я обнаружил, что эффект изображения не изменился!

Как я могу получить изображение этого эффекта от CALayer?

1 Ответ

2 голосов
/ 01 марта 2010

Мой оригинальный ответ следует ниже. Он был действителен в тот момент, когда я его опубликовал, но Apple больше не позволяет использовать UIGetScreenImage. Насколько мне известно после запуска iOS4, нет альтернативы, как визуализировать слои с 3D-преобразованиями + ваше приложение будет отклонено, если вы используете UIGetScreenImage



Из документации для разработчиков iPhone по renderInContext:

Кроме того, слои, которые используют 3D преобразования не отображаются и не слои, которые определяют backgroundFilters, фильтры, compositingFilter или маска значения.

Так что renderInContext - это не та функция, которую вам нужно использовать для визуализации слоя, к которому применено 3D-преобразование.

Лучшее, что вы можете сделать, это позвонить: UIGetScreenImage , который в основном даст вам снимок экрана, и вы сможете извлечь изображение из этого снимка.

...