如何保存使用UIImagePickerController摄像头拍摄的照片以便稍后在应用程序中显示?

时间:2015-08-24 14:18:20

标签: ios iphone xcode swift camera

我让用户用UIImagePickerController拍照,我需要将它保存到应用程序中,以便以后需要时可以显示它。我怎么能做到这一点?

我听说NSUserDefaults会出错。我需要保存的只是一张图片,而不是更多。

1 个答案:

答案 0 :(得分:14)

以下是将图像保存到文档文件夹的功能

func saveImage (image: UIImage, path: String ) -> Bool{
        let pngImageData = UIImagePNGRepresentation(image)
         //let jpgImageData = UIImageJPEGRepresentation(image, 1.0)   // if you want to save as JPEG
        let result = pngImageData.writeToFile(path, atomically: true)
        return result
    }

以下是获取图像名称

的文档目录路径的功能
func fileInDocumentsDirectory(filename: String) -> String {
    let documentsFolderPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String
    return documentsFolderPath.stringByAppendingPathComponent(filename)
}

以下是如何使用图像路径的示例

let imagePath = fileInDocumentsDirectory(myImageName)

以下是将图像保存到该文件夹​​的方法

saveImage(image, path: imagePath)

现在最后一部分是获取你的图像,所以使用这个功能来获取你的图像

func loadImageFromPath(path: String) -> UIImage? {
    let image = UIImage(contentsOfFile: path)
    if image == nil {
        println("Image not available at: (path)")
    }
    return image
}

以下是您使用上述功能的方法

image = loadImageFromPath(imagePath)
imageView.image = image

希望这有助于你