如何保存使用UIImagePickerController摄像头拍摄的照片以后在应用程序中显示?
我正在让用户使用UIImagePickerController拍摄照片,我需要将它保存到应用程序中,以便在稍后需要时可以显示它。 我怎样才能做到这一点?
我听说NSUserDefaults将是一个错误。 我需要保存的只是一张图片,从来没有更多。
这是将图像保存到文档文件夹的function
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 }
下面是使用图像名称获取文档目录path的function
func fileInDocumentsDirectory(filename: String) -> String { let documentsFolderPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String return documentsFolderPath.stringByAppendingPathComponent(filename) }
这是一个如何使用你的图像path的例子
let imagePath = fileInDocumentsDirectory(myImageName)
这里是如何将图像保存到该文件夹
saveImage(image, path: imagePath)
现在最后一部分是获得你的形象,所以使用这个function来获得你的形象
func loadImageFromPath(path: String) -> UIImage? { let image = UIImage(contentsOfFile: path) if image == nil { println("Image not available at: (path)") } return image }
这里是你如何使用上述function
image = loadImageFromPath(imagePath) imageView.image = image
希望这可以帮助你