方法一:
//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);
方法一的到的可以设置分辨率,所以相对方法二而言,方法一可以得到清晰的图片