截图

方法一:

//CGSize size区域大小,BOOL opaque,是否为非透明,如果需要显示半透明效果,需要传NO,否则传YES,第三个参数就是屏幕密度([UIScreen mainScreen].scale  得到设备的分辨率)

UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale);

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage* image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

//保存照片

UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);


方法二:

//创建一个基于位图的图形上下文并指定大小为CGSizeMake(200,400)

UIGraphicsBeginImageContext(CGSizeMake(200,400));

//renderInContext 呈现接受者及其子范围到指定的上下文

[self.view.layerrenderInContext:UIGraphicsGetCurrentContext()];

//返回一个基于当前图形上下文的图片

UIImage *aImage =UIGraphicsGetImageFromCurrentImageContext();

//移除栈顶的基于当前位图的图形上下文

UIGraphicsEndImageContext();

//以png格式返回指定图片的数据

imageData = UIImagePNGRepresentation(aImage);

//保存照片

UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);


方法一的到的可以设置分辨率,所以相对方法二而言,方法一可以得到清晰的图片

你可能感兴趣的:(截图)