Создать UIImage из теневого вида, сохраняя при этом альфа?

У меня несколько необычная проблема. В моем приложении я слежу заUIImageView используя базовое затенение слоя Quartz2d. Вот мой код:

imageView.layer.shadowOpacity = 1.0; // Pretty self explanatory
imageView.layer.shadowRadius = 8.0; // My softness
imageView.layer.shadowColor = [UIColor blackColor].CGColor; // Color of the shadow
imageView.layer.shadowOffset = CGSizeMake(0.0, 0.0); // Offset of the shadow

Это создает хорошее размытие за изображением. Однако я делаю некоторую анимацию с этим видом, и постоянный пересчет затенения во время переходов вызывает очень изменчивый переход. Я хотел бы создать файл UIImage или .png из представления изображений.с размытостью и ее альфа нетронутыми, Вот что я уже пробовал:

UIGraphicsBeginImageContext(CGSizeMake(320, 396)); 
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

Так как у меня есть тень, которая «растет за пределами» изображения, я не могу просто передать его размер вUIGraphicsBeginImageContext функция. Я установил правильный размер, но полученное изображение не сохраняет мою альфу, вместо этого он помещает белый фон позади тени, что не будет работать для меня, потому что мой реальный фон - текстура дерева. Кроме того, представление не центрируется в результирующем файле.

Я очень хорошо сUIKitно я настоящий нуби сQuartz 2D графика, так что если есть очевидный ответ на это, отправьте его в любом случае. :)

Ответы на вопрос(3)

Ваш ответ на вопрос