`
wonderzl
  • 浏览: 78903 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

选择相册图片并保存

阅读更多
.h中:

<UINavigationControllerDelegate, UIImagePickerControllerDelegate>


.m中

- (IBAction)selectPhoto {
    NSLog(@"%@",NSStringFromSelector(_cmd));
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.allowsEditing = YES;
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentModalViewController:picker animated:YES];
        [picker release];
    }
    else {
        UIAlertView *alert = [[UIAlertView alloc] 
                              initWithTitle:@"连接到图片库错误" 
                              message:@"" 
                              delegate:nil 
                              cancelButtonTitle:@"确定" 
                              otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
    
}

#pragma mark UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker 
        didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo 
{
    [self.headImageView setImage:image];
    if ([self writeImage:image toFileAtPath:[self imageFilePath]]) {
        NSLog(@"Save Image Success!!!");
    }
    
    [picker dismissModalViewControllerAnimated:YES];
    
}

- (NSString *)imageFilePath
{
	NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
	NSString *documentsDirectory = [paths objectAtIndex:0];
	return [documentsDirectory stringByAppendingPathComponent:@"image.png"];
}

- (BOOL)writeImage:(UIImage*)image toFileAtPath:(NSString*)aPath
{
    if ((image == nil) || (aPath == nil) || ([aPath isEqualToString:@""]))
        return NO;
    @try
    {
        
        NSData *imageData = nil;
        NSString *ext = [aPath pathExtension];
        if ([ext isEqualToString:@"png"])
        {
            imageData = UIImagePNGRepresentation(image); 
        }
        else 
        {
            // the rest, we write to jpeg
            
            // 0. best, 1. lost. about compress.
            
            imageData = UIImageJPEGRepresentation(image, 0);     
            
        }
     
        if ((imageData == nil) || ([imageData length] <= 0))
            return NO;
        
        [imageData writeToFile:aPath atomically:YES];       
        return YES;
    }
    @catch (NSException *e) 
    {
        NSLog(@"create thumbnail exception.");
    }
    return NO;
}




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics