.h中:
Obj-c代码
.m中
Obj-c代码
- <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;
- }