我想做的是从某些数据创建QR码后获取图像数据。
我无法做到这一点,因为每次我在从过滤器创建的图像上使用pngData()
时,它都会返回nil。为什么?图片本身已存在,我可以使用它来设置为View或其他。
这是方法:
func generateQRCode(from data: Data) -> Data? {
if let filter = CIFilter(name: "CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
let img = UIImage(ciImage: (filter.outputImage)!)
return img.pngData()
}
print("Cannot create filter")
return nil
}