Я пытаюсь программно сохранить изображение текущего вида в UIImage. текущий вид содержит фон и ряд UIImageView, которые имели 3D-преобразование, примененное к слою, например.iPhone: как программно делать снимки экрана при использовании 3D-слоев
CATransform3D t = CATransform3DIdentity;
t = CATransform3DRotate(t, rotationX, 1.0, 0, 0);
t = CATransform3DRotate(t, rotationY, 0, 1.0, 0);
object.layer.transform = t;
я в настоящее время захвата скриншот текущего вида с помощью следующего кода:
UIGraphicsBeginImageContext(background.bounds.size);
[background.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Однако 3d преобразования на объекты теряются, например, объекты отображаются в сохраненном изображении, как если бы не были применены 3D-преобразования. Есть ли способ захватить программный снимок экрана, который будет включать в себя 3D-преобразования?
UIGetScreenImage() не является вариантом, так как это частный API, и это приложение входит в магазин приложений.
Возможный дубликат [Как создать UIImage из 3d-преобразованного слоя UIImageView?] (Http://stackoverflow.com/questions/1949003/how-do-i-create-a-uiimage-from-a- 3d-transform-uiimageview-layer) – 2010-11-25 02:44:36