2017-10-19 116 views
0

我目前正在使用AVFoundation来捕捉图像。因为我想在Vision Framework工作流程中使用捕获的图像,所以在将其转换为UIImage时需要将其定向。我怎样才能做到这一点? 从文档中我发现AVCapturePhoto有一个.metadata字典来访问这些信息,但是如果我使用相应的密钥,我会得到nil结果。如何从AVCapturePhoto获取元数据值?

这里是我的捕获例程的委托方法:

func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) { 
    // capture image finished 
    print("Image captured.") 
    print(photo) 
    print(photo.metadata["kCGImagePropertyOrientation"]) // CGImageProperties for metadata keys for value retrieval. 

我发现在“CGImageProperties>个人形象属性”的关键。打印(照片)确实告诉我一个图像实际上已经被捕获,返回:

AVCapturePhoto:0x1c1013940点:98386.095931 1/1设置:UID:3照片:{4032x3024 SIS:ON}

请在Swift中回答。 :)

谢谢!

回答

1

我想,你正在寻找的是:

photo.metadata["Orientation"] 

photo.metadata[String(kCGImagePropertyOrientation)] 

我希望这会帮助你。

最好! Ania

+0

事实上,这是诀窍。谢谢,阿尼亚。 –