ios - 从 iOS 11 相机胶卷中访问 HEIC 和 DNG 图片
问题描述
我在使用 Swift 编写的 iOS 11 应用程序中访问原始 HEIC 和 DNG 文件时遇到了麻烦;按照Apple开发人员的文档,访问原始文件就足够了,imagePicker.imageExportPreset = UIImagePickerController.ImageURLExportPreset.current
但UIImagePickerController.InfoKey.imageURL
我仍然得到一个指向JPEG文件的URL;我知道选择的图片是 HEIC 和 DNG,因为在 Mac 照片应用程序上导出为原始图片我得到了原始文件格式。
这是我使用的完整代码:
@IBAction func openRoll(_ sender: Any) {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = false
imagePicker.imageExportPreset = .current
self.present(imagePicker, animated: true, completion: nil)
}
}
在代表上:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let image = info[UIImagePickerController.InfoKey.originalImage] as! UIImage
let path = info[UIImagePickerController.InfoKey.imageURL] as! NSURL
NSLog("URL: \(path.absoluteString)")
NSLog("Export: \(picker.imageExportPreset.rawValue)")
dismiss(animated:true, completion: nil)
// ...code to use the image!
}
非常感谢您的帮助、建议和工作片段。
解决方案
推荐阅读
- firebase - Firebase 规则变量与字符串不匹配
- swiftui - 'self' 在所有存储的属性被初始化之前使用 SwiftUI
- c# - 连续感知器权重变化为零
- c++ - C++:用 2 个不同的变量分配 2 个构造函数不起作用
- android - 如何为 actions.intent.OPEN_APP_FEATURE 添加一个 URL 参数到 {@url}?
- python - 计算数字列表列表的平均值
- sql - Oracle - 如何将逗号分隔的列表转换为行?
- javascript - 尝试使用普通的 js 函数同时旋转和 scaleX,并使用一个用于旋转度数的变量
- mysql - 如何在 mysql 和 vb.net 中使用带 IN 运算符的参数命令
- javascript - Jquery 检索所选 rowIndex 的属性值