iOS中截取屏幕中局部图片

来源:互联网 发布:解压缩软件 安卓 编辑:程序博客网 时间:2024/04/30 23:00
-(void)screenShotRect:(CGRect)aRect //arect 想要截图的区域{    UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0);    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    CGImageRef imageRef = viewImage.CGImage;         CGRect rect =aRect;//这里可以设置想要截图的区域    CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef, rect);    UIImage *sendImage = [[UIImage alloc] initWithCGImage:imageRefRect];    NSData *imageViewData = UIImagePNGRepresentation(sendImage);     //第一,保存到沙盒    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);    NSString *documentsDirectory = [paths objectAtIndex:0];    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"zone.png"];    NSLog(@"%@", savedImagePath);    [imageViewData writeToFile:savedImagePath atomically:YES];    CGImageRelease(imageRefRect);     //第二,保存到相册    UIImage *image = [UIImage imageWithData:imageViewData];    UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);}

原创粉丝点击