天天看点

iOS 获得指定范围内的屏幕图像(截屏)

+ (UIImage *)imageFromView : (UIView *)view

{

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

    UIGraphicsBeginImageContext(CGSizeMake(90,90));

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

    [view.layerrenderInContext:UIGraphicsGetCurrentContext()];

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

    UIImage *extractImage =UIGraphicsGetImageFromCurrentImageContext();

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

    UIGraphicsEndImageContext();

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

   NSData *imageData = UIImagePNGRepresentation(extractImage);

   UIImage *imge = [UIImageimageWithData:imageData];

   return imge;

}