У меня есть CALayer, преобразованный в 3D на экране UIView (намного больше, чем 320x480).
Как сбросить то, что видно на этом UIView в UIImage?
ПРИМЕЧАНИЕ. Я отредактировал вопрос, включив в него этот код ...
Вот так я и создаю слой ...
CGRect area = CGRectMake (0,0,400,600];
vista3D = [[UIView alloc] initWithFrame:area ];
[self.view addSubview:vista3D];
[vista3D release];
transformed = [CALayer layer];
transformed.frame = area;
[vista3D.layer addSublayer:transformed];
CALayer *imageLayer = [CALayer layer];
imageLayer.doubleSided = YES;
imageLayer.frame = area;
imageLayer.transform = CATransform3DMakeRotation(40 * M_PI / 180.0f, 1.0f, 0.0f, 0.0f);
imageLayer.contents = (id)myRawImage.CGImage;
[transformed addSublayer:imageLayer];
// Add a perspective effect
CATransform3D initialTransform = transformed.sublayerTransform;
initialTransform.m34 = 1.0 / -500;
transformed.sublayerTransform = initialTransform;
// now the layer is in perspective
// my next step is to "flatten" the composition into a UIImage
UIImage *thisIsTheResult = some magic command
спасибо за любую помощь!
РЕДАКТИРОВАТЬ 1: Я пробовал решение jessecurry, но оно дает мне плоский слой без какой-либо перспективы.
РЕДАКТИРОВАТЬ 2: Я нашел частичное решение для этого, которое работает, но это решение дает мне изображение размером с экран, и я искал для получения версию с более высоким разрешением, отрисовку за пределами экрана.