存储对相机胶卷中保存的图像的参考

时间:2011-03-17 06:22:15

标签: iphone save uiimagepickercontroller photo

我一直致力于一个简单的应用程序,它允许用户拍照并将其存储在相机胶卷中供以后使用。要做到这一点,我使用的是UIImagePickerController和方法UIImageWriteToSavedPhotosAlbum,它运行得很好。

我的问题是:有没有办法在相机胶卷中存储图像的路径,以便我可以用它以后再次调用图像?或者,我是否必须将图像保存在应用程序中以便以后再次使用?

如果有一个简单的方法可以做到这一点会很棒,因为有一个视频,你只是存储特定视频的NSUrl,然后调用MPMoviePlayerController为你做所有事情。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

事实证明,实际上并不难做到这一点。在UIImagePickerDelegate方法中:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;

NSDictionary“info”实际上包含图像的url或存储在相机胶卷上的电影。您只需要检查:

if([[info valueForKey:UIImagePickerControllerMediaType] isEqualToString:(NSString *)kUTTypeMovie]){ // If the user took a video,
  movieURL = [[info valueForKey:UIImagePickerControllerMediaURL] retain];// Get the URL of where the movie is stored.
  UISaveVideoAtPathToSavedPhotosAlbum([movieURL path], nil, nil, nil);   // Save the movie to the photo album.
}

这会将电影保存到相机胶卷,并记录网址。为照片做它是类似的,只需用“kUTTypeImage”替换“kUTTypeMovie”,并替换

movieURL = [[info valueForKey:UIImagePickerControllerMediaURL] retain];// Get the URL of where the movie is stored.
UISaveVideoAtPathToSavedPhotosAlbum([movieURL path], nil, nil, nil);   // Save the movie to the photo album.

UIImage * image = [info valueForKey:UIImagePickerControllerOriginalImage];    
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

如果您需要将UIImage存储在相机胶卷上,那么stackoverflow Saving UIImage with NSCoding上有一个很棒的帖子,您可以使用该帖子将图像存储在您的应用中。希望能帮助别人!