Я использую
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;
Это - успех, но я использую "renderInContext:context", получают CGImage от контекста, я нашел, что эффект изображений не изменяется!
Как я могу получить это изображение эффекта от CALayer?
Мой исходный ответ следует ниже. Он был действителен на момент публикации, но Apple больше не разрешает использование UIGetScreenImage. Насколько мне известно, после запуска iOS4 нет альтернативы рендерингу слоев с 3D-преобразованиями + ваше приложение будет отклонено, если вы используете UIGetScreenImage
Из документации разработчика iPhone на renderInContext:
Кроме того, слои, использующие 3D-преобразования не обрабатываются, как и слои , которые задают значения backgroundFilters, , compositingFilter или маски .
Таким образом, renderInContext - это не та функция, которую нужно использовать для рендеринга слоя, к которому применено 3D-преобразование.
Лучшее, что вы можете сделать, это позвонить: UIGetScreenImage , который, по сути, предоставит вам снимок экрана, и вы сможете затем извлечь изображение из этого снимка экрана.