您的位置:首页 > 其它

截取屏幕中局部图片

2013-10-21 11:15 253 查看


截取屏幕中局部图片

-(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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: