当我使用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
}