【问题标题】:Storing a reference to an image saved in the Camera Roll存储对保存在相机胶卷中的图像的引用
【发布时间】:2011-03-17 06:22:15
【问题描述】:

我一直在开发一个简单的应用程序,它允许用户拍摄照片并将其存储在相机胶卷中以供以后使用。为此,我使用了 UIImagePickerController 和 UIImageWriteToSavedPhotosAlbum 方法,该方法运行良好。

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

如果有一种简单的方法可以做到这一点,那就太好了,因为有一个视频,您只需存储特定视频的 NSUrl,然后调用 MPMoviePlayerController 为您做所有事情。

任何帮助将不胜感激!

【问题讨论】:

    标签: iphone save uiimagepickercontroller photo


    【解决方案1】:

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

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

    NSDictionary“信息”实际上包含存储在相机胶卷上的图像或电影的 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.
    }
    

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

    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 上的一篇很棒的帖子将图像存储在您的应用中。希望对某人有所帮助!

    【讨论】:

    • 我不认为这适用于图像,因为我认为图像不会被写入“磁盘”,直到你真正告诉它保存(Camera.app 似乎花了一段时间写出来在它让你打开相机胶卷之前它的缓冲区,无论如何)。
    • UIImageWriteToSavedPhotosAlbum() 方法实际上将其写入相机胶卷,这样就为您完成了。自己试试吧,效果很好!
    • 如果用户选择照片媒体,[info valueForKey:UIImagePickerControllerMediaURL] 返回 nil。
    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    相关资源
    最近更新 更多