Unable to convert CIImage to UIImage in Swift 3.0

别说谁变了你拦得住时间么 提交于 2019-11-28 09:54:11
Shemona
func convert(cmage:CIImage) -> UIImage
{       
    let context:CIContext = CIContext.init(options: nil)
    let cgImage:CGImage = context.createCGImage(cmage, from: cmage.extent)!        
    let image:UIImage = UIImage.init(cgImage: cgImage)        
    return image
}

Use this function to convert CIImage to UIImage . It works .

My final code

   func generateQRCode(from string: String) -> UIImage? {
        let data = string.data(using: String.Encoding.ascii)
        
        if let filter = CIFilter(name: "CIQRCodeGenerator") {
            filter.setValue(data, forKey: "inputMessage")
            let transform = CGAffineTransform(scaleX: 3, y: 3)
            
            if let output = filter.outputImage?.transformed(by: transform) {
                let context:CIContext = CIContext.init(options: nil)
                let cgImage:CGImage = context.createCGImage(output, from: output.extent)!
                let image:UIImage = UIImage.init(cgImage: cgImage)
                return image
            }
        }
        
        return nil
    }
 func convert(image:CIImage) -> UIImage
 {           
    let image:UIImage = UIImage.init(ciImage: image)        
    return image
 }

Perhaps, this was unavailable before, but it is now possible to create UIImages directly from CIImage.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!