-(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);
}
Translate
2014年3月24日 星期一
截取屏幕中局部图片
訂閱:
張貼留言 (Atom)
 
沒有留言:
張貼留言