Commit 7d4b7d06 authored by David黄金龙's avatar David黄金龙

修改 生成二维码图片的方法

parent 7350296a
...@@ -260,22 +260,39 @@ extension String { ...@@ -260,22 +260,39 @@ extension String {
///字符串 生成二维码 ///字符串 生成二维码
func generateQRCode() -> UIImage? { func generateQRCode() -> UIImage? {
guard let data = self.data(using: .ascii, allowLossyConversion: false) else { // guard let data = self.data(using: .ascii, allowLossyConversion: false) else {
return nil // return nil
} // }
//
// let filter = CIFilter(name: "CIQRCodeGenerator")
// filter?.setValue(data, forKey: "inputMessage")
//
// guard let outputImage = filter?.outputImage else {
// return nil
// }
//
// let context = CIContext()
// if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
// return UIImage(cgImage: cgImage)
// }
//
// return nil
let data = self.data(using: String.Encoding.ascii)
let filter = CIFilter(name: "CIQRCodeGenerator") let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage") filter?.setValue(data, forKey: "inputMessage")
filter?.setValue("H", forKey: "inputCorrectionLevel") // 设置二维码的容错率
guard let outputImage = filter?.outputImage else { // 获取生成的二维码CIImage
return nil guard let outputImage = filter?.outputImage else { return nil }
}
let context = CIContext() // 将CIImage转换为UIImage
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) { let scaleX = 5.0
return UIImage(cgImage: cgImage) let scaleY = 5.0
} let transformedImage = outputImage.transformed(by: CGAffineTransform(scaleX: scaleX, y: scaleY))
let qrCodeImage = UIImage(ciImage: transformedImage)
return nil return qrCodeImage
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment