IT虾米网

IOS截取屏幕到文件中详解

wyy 2018年06月23日 手机开发 432 0

在这里首先明确,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.   
    }  

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

ios UI数据库 sqlite小型数据库的增、删、改、查、排序详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。