UIImageJPEGRepresentation返回nil(在设备上 - 模拟器上的OK)

时间:2017-09-12 08:56:01

标签: ios swift null uiimage

当我使用generateBarcode(“ABCDEF”)创建条形码UIImage并调用 UIImageJPEGRepresentation UIImagePNGRepresentation

UIImage中显然还有一些问题,因为调试器也无法显示UIImage。图像存在,cgImage属性已设置但UIImageJPEGRepresentation不喜欢它。

我试图按照UIImageJPEGRepresentation returns nil

解决它
class func generateBarcode(from string: String) -> UIImage? {  
    let data = string.data(using: String.Encoding.ascii)  

    if let filter = CIFilter(name: "CICode128BarcodeGenerator") {
        filter.setValue(data, forKey: "inputMessage")
        if let ciImage = filter.outputImage {  
            if let cgImange = convertCIImageToCGImage(inputImage: ciImage) {
                return UIImage(cgImage: cgImange)
            }
        }  
    }  
    return nil  
} 

class func convertCIImageToCGImage(inputImage: CIImage) -> CGImage? {
    let context = CIContext(options: nil)
    if let cgImage = context.createCGImage(inputImage, from: inputImage.extent) {
        return cgImage
    }
    return nil
}

0 个答案:

没有答案