AVCapturePhotoOutput 到 Base64

问题描述

我正在使用 swift 开发一个应用程序,该应用程序与我的运行 Flask 的服务器进行通信。我希望能够拍照并以 base64 格式上传。目前,我使用的 base64 编码正在生成损坏且无法使用的图像。当我使用 AVCapturePhotoOutput 时,UIImage 到 base64 教程对我不起作用,因为 swift 无法将 AVCapturePhotoOutput 转换为 UIImage。如何获得可靠运行的 base64 图像?如何将图像从 AVCapturePhotoOutput 转换为 base64?提前感谢您的任何帮助!

   @IBAction func takePhotoButtonpressed(_ sender: Any) {
          let settings = AVCapturePhotoSettings()
          sessionOutput.capturePhoto(with: settings,delegate: self)
        
    }


    func photoOutput(_ output: AVCapturePhotoOutput,didFinishProcessingPhoto photo: AVCapturePhoto,error: Swift.Error?) {
        let imageData = photo.fileDataRepresentation()
        var base64String = imageData?.base64EncodedString()

解决方法

最初配置照片设置时,请通过设置 previewPhotoFormat 来请求预览图像。现在,您将能够获得照片的 previewCGImageRepresentation,并且现在您将进入一个可以处理的像素数据世界。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...