使用屏幕截图xcode 4.2保存屏幕的一部分

时间:2012-06-24 23:36:58

标签: objective-c ios5 xcode4.2 screenshot

在我的应用程序中,我有一个ui图像视图,其中一个部分被移除覆盖在另一个图像视图的顶部,因此用户可以从相机胶卷上传图片并在屏幕上操作。我想使用以下代码将这些图像保存在一起以拍摄屏幕。然而,因为它沿着底部采用顶部栏和标签视图,是否可以通过屏幕截图按钮指定屏幕的特定区域?

我可以操作以下代码,这样就不会对整个屏幕进行屏幕截图,所以我可以省略条形按钮吗?

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
    UIGraphicsBeginImageContextWithOptions(self.view.window.bounds.size, NO, [UIScreen mainScreen].scale);
else
    UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);           

1 个答案:

答案 0 :(得分:3)

您可以随时使用UIView

创建图像
UIGraphicsBeginImageContext(view.bounds.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

因此,基本上不是从整个窗口的视图中获取图层...您只需从您感兴趣的视图中获取图层,然后从中创建图像。

然后将图像保存到您想要的任何位置。