代码之家  ›  专栏  ›  技术社区  ›  neda Derakhshesh

如何立即将照片保存到相机卷[复制]

  •  1
  • neda Derakhshesh  · 技术社区  · 8 年前

    我正在开发一个可以访问相机并可以拍照的应用程序。问题是,它不会在拍摄图像时立即将其保存到相机卷。我搜索了很多,似乎我应该实现一个图像视图,但我不需要在我的应用程序屏幕上显示确切的图像。有没有什么方法可以让我在拍摄时不使用imageView就将图像保存到相机卷?

    这是我的imagePickerController代码

     @IBAction func openCameraButton(_ sender: AnyObject)
    {
        if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera) {
            let imagePicker = UIImagePickerController()
            imagePicker.delegate = self
            imagePicker.sourceType = UIImagePickerControllerSourceType.camera
            imagePicker.allowsEditing = false
            self.present(imagePicker, animated: true, completion: nil)
        }
    }
    
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
            imagePicked.contentMode = .scaleToFill
            imagePicked.image = pickedImage
        }
        picker.dismiss(animated: true, completion: nil)
    }
    
    1 回复  |  直到 8 年前
        1
  •  3
  •   user2296278    8 年前

    这是代理代码,您可以使用此代码尽快保存。只需添加2行代码,您就可以删除此部分(imagePicked.image=pickedImage),因为在完成关闭选择器之前,您无法看到图像 (选择器解除)

    不要忘记在信息中添加两行。普利斯特 enter image description here

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage
    
        UIImageWriteToSavedPhotosAlbum(pickedImage!, nil, nil, nil);
        picker.dismiss(animated: true, completion: nil)
    
        imagePicked.contentMode = .scaleToFill
        imagePicked.image = pickedImage
    
    
    
        }
    
    }