我正在使用此代码捕获我的屏幕。
CGImageRef screen = UIGetScreenImage();
UIImage* image = [UIImage imageWithCGImage:screen];
CGImageRelease(screen);
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
此代码占用了所有屏幕。
我只需要其中的一部分...... CGRect rect = CGRectMake (0,0,100,100);
我可以传递任何参数来获取它吗?
谢谢!
答案 0 :(得分:4)
您还可以为所需的矩形大小定义新的上下文:
CGRect rect = CGRectMake (0,0,100,100);
UIGraphicsBeginImageContext(rect);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(screenshot, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
Nota:您需要在导入中添加QuartzCore:
#import <QuartzCore/QuartzCore.h>
您可以通过以下方式获取主视图:
UIView *view = [[UIApplication sharedApplication].keyWindow rootViewController].view
答案 1 :(得分:1)
答案 2 :(得分:1)
使用此代码捕获屏幕并自动保存到iphone设备中的图像库。
UIGraphicsBeginImageContext(self.view.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);