我一直致力于一个简单的应用程序,它允许用户拍照并将其存储在相机胶卷中供以后使用。要做到这一点,我使用的是UIImagePickerController和方法UIImageWriteToSavedPhotosAlbum,它运行得很好。
我的问题是:有没有办法在相机胶卷中存储图像的路径,以便我可以用它以后再次调用图像?或者,我是否必须将图像保存在应用程序中以便以后再次使用?
如果有一个简单的方法可以做到这一点会很棒,因为有一个视频,你只是存储特定视频的NSUrl,然后调用MPMoviePlayerController为你做所有事情。
非常感谢任何帮助!
答案 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上有一个很棒的帖子,您可以使用该帖子将图像存储在您的应用中。希望能帮助别人!