是否有替代CALayer -renderInContext:方法?

时间:2010-04-19 10:29:33

标签: iphone

我需要一种使用所有捕获视图或屏幕的方法,就像屏幕上显示的一样。 -renderInContext:不会这样做。有没有其他选择?

1 个答案:

答案 0 :(得分:1)

有几个,但从以下开始:

UIGetScreenImage();

返回CGImageRef。如果您使用此功能,请注意图像会保留,您应该将其释放。

修改

为了完整性添加其他主要方法:

UIWindow *aWindow = [[UIApplication sharedApplication].windows objectAtIndex:0];
UIGraphicsBeginImageContext(aWindow.frame.size);
[[aWindow layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();