CALayer renderInContext

Я использую

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

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

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

6
задан Laurent Etiemble 28 February 2010 в 21:37
поделиться

1 ответ

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



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

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

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

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

2
ответ дан 17 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: