【问题标题】:How to take image in my application and save the image in IOS?如何在我的应用程序中拍摄图像并将图像保存在 IOS 中?
【发布时间】:2014-01-14 05:04:14
【问题描述】:
- (IBAction)btn_actionTakePicture:(UIButton *)sender {
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;

    [self presentViewController:picker animated:YES completion:NULL];

    //I want to know how to save the image into the UIImage *image = savingImage so that I can implement the next 2 lines

    UIImage *image = savingImage;
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}

最后两行代码依赖于获取我捕捉到的图像以保存在变量savingImage 中,那么我该如何实现呢?

【问题讨论】:

    标签: ios image file camera photo


    【解决方案1】:

    您需要从 IBAction 中删除这两行并添加此功能

    //UIImage *image = savingImage;
    //UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    

    PS。你的 UIImagePickerController *picker 需要是全局的 你可能会错过很多其他的东西。看看苹果的示例代码https://developer.apple.com/library/ios/samplecode/photopicker/Introduction/Intro.html

    -(void)imagePickerController:(UIImagePickerController *)picker
          didFinishPickingImage : (UIImage *)image
                     editingInfo:(NSDictionary *)editingInfo
    {
    
        NSLog(@"didFinishPickingImage ...");
    
        [picpicker dismissViewControllerAnimated:YES completion:nil];
    
        //save this image
        UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    
    }
    

    【讨论】:

    • didFinishPickingImage 自 iOS 3.0 起已弃用,我不会使用它。有关更多最新实施,请参阅下面的帖子。
    【解决方案2】:

    您可以使用 didFinishPickingMediaWithInfo。 来自官方文档:

    要将静止图像保存到用户的相机胶卷相册,请从 imagePickerController:didFinishPickingMediaWithInfo: 方法的主体中调用 UIImageWriteToSavedPhotosAlbum 函数。

    阅读更多:https://developer.apple.com/library/ios/documentation/uikit/reference/UIImagePickerControllerDelegate_Protocol/UIImagePickerControllerDelegate/UIImagePickerControllerDelegate.html

    可能是这样的:

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    UIImage *img = [info objectForKey:UIImagePickerControllerOriginalImage];
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    }
    

    【讨论】:

    • 我对ios完全陌生,你能解释一下如何实现info
    • 查看 Sam 已经提到的官方教程代码 - developer.apple.com/library/ios/samplecode/photopicker/… - 你甚至可以下载整个项目并查看它是如何工作的(该代码中没有其他功能,所以它应该易于浏览和理解)。此外,有关其工作原理的所有说明,请阅读该页面上的文档。
    猜你喜欢
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多