加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 在Swift中获取图像名称UIImagePickerController

发布时间:2020-12-15 01:45:33 所属栏目:百科 来源:网络整理
导读:我使用UIImagePickerController从手机库(iOS)获取图像.编辑模式后,我把图像放到我的UIImageView. 我想将此图像保存在Core Data中,以便在另一个View Controllers中使用它 我怎么能在Swift中做到这一点. 如果不可能有什么选项可以保存图像? 解决方法 另一个不
我使用UIImagePickerController从手机库(iOS)获取图像.编辑模式后,我把图像放到我的UIImageView.
我想将此图像保存在Core Data中,以便在另一个View Controllers中使用它

我怎么能在Swift中做到这一点.
如果不可能有什么选项可以保存图像?

解决方法

另一个不错的选择是你可以将你的图像保存到你的应用程序的文档目录中,你可以从任何地方检索该图像,如下面的代码所示:

func imagePickerController(picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
    self.dismissViewControllerAnimated(true,completion: nil)
    let tempImage = info[UIImagePickerControllerOriginalImage] as! UIImage

    // save your image here into Document Directory
    saveImage(tempImage,path: fileInDocumentsDirectory("tempImage"))

}

这是辅助函数:

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

}

// Get the documents Directory

func documentsDirectory() -> String {
    let documentsFolderPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask,true)[0] as! String
    return documentsFolderPath
}
// Get path for a file in the directory

func fileInDocumentsDirectory(filename: String) -> String {
    return documentsDirectory().stringByAppendingPathComponent(filename)
}

这样您就可以从文档目录中检索该图像:

@IBAction func setImage(sender: AnyObject) {

    imageV.image = loadImageFromPath(fileInDocumentsDirectory("tempImage"))
}

这是辅助函数:

func loadImageFromPath(path: String) -> UIImage? {

    let image = UIImage(contentsOfFile: path)

    if image == nil {

        println("missing image at: (path)")
    }
    println("(path)") // this is just for you to see the path in case you want to go to the directory,using Finder.
    return image

}

希望它会帮助你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读