我们常用的截图方法如下所示:
//尺寸是按照
UIGraphicsBeginImageContext(CGSizeMake(100,100 )); //currentView 当前的view 创建一个基于位图的图形上下文并指定大小为 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];//renderInContext呈现接受者及其子范围到指定的上下文 UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();//返回一个基于当前图形上下文的图片 UIGraphicsEndImageContext();//移除栈顶的基于当前位图的图形上下文 UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);//然后将该图片保存到图片图
这个方法比较简单 一般都用这个方法
但是可能有的对截图的清晰度要求比较严 那么我们需要对这个方法进行修改 如下:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(100,100 ), NO, 0.0); //currentView 当前的view 创建一个基于位图的图形上下文并指定大小为 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];//renderInContext呈现接受者及其子范围到指定的上下文 UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();//返回一个基于当前图形上下文的图片 UIGraphicsEndImageContext();//移除栈顶的基于当前位图的图形上下文 UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);//然后将该图片保存到图片图
主要是UIGraphicsBeginImageContextWithOptions方法发生了变化:
这里应该是ios7及以后设置分辨率的方法
通入下面方法截取的屏幕图片会比较清晰
时间: 2024-10-13 21:57:50