Translate

2014年3月24日 星期一

截取屏幕中局部图片

-(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); }

沒有留言:

張貼留言