IOS截取屏幕到文件中

pwmd 9年前發布 | 2K 次閱讀 Objective-C IOS

在這里首先明確,View中顯示的東西都在在layer中的。

我們通過renderInContext來渲染layer中的內容

- (void)viewDidLoad {  
    [super viewDidLoad];  
    //截取當前的View  
    //1.創建圖層  
    UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);  
    //2.渲染layer  
    CGContextRef ctr = UIGraphicsGetCurrentContext();  
    [self.view.layer renderInContext:ctr];  
    CGContextStrokePath(ctr);  
    //3.取出image  
    UIImage *imageNew = UIGraphicsGetImageFromCurrentImageContext();  
    //4.關閉圖層  
    UIGraphicsEndImageContext();  

    //5.將圖片轉換成NSData  
    NSData *data = UIImagePNGRepresentation(imageNew);  
    [data writeToFile:@"/Users/misaka/Desktop/1.png" atomically:YES];  
    // Do any additional setup after loading the view, typically from a nib.  
}  </pre> 


 本文由用戶 pwmd 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!