Swift 4中如何设置QRCode版本
How to set QRCode version in Swift 4
使用 Core Graphic 库,我能够生成几乎任何类型的 . QR-Code,但是,我无法控制 Swift.
使用的版本
根据http://www.qrcode.com/en/about/version.html有几个版本,分别是
当前代码:
let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(vcard, forKey: "inputMessage")
filter?.setValue("M", forKey: "inputCorrectionLevel")
if let output = filter?.outputImage {
let scaleX = qrCode.frame.size.width / output.extent.size.width
let scaleY = qrCode.frame.size.height / output.extent.size.height
let transform = CGAffineTransform(scaleX: scaleX, y: scaleY)
let scaledOutput = output.transformed(by: transform)
self.qrCode.image = UIImage(ciImage: scaledOutput)
}
不允许我控制所使用的二维码版本。它只确保生成的图像不模糊,就是这样。
有没有办法,至于校正级别,将二维码版本传递给Core Image lib?
根据 documentation。
Generates an output image representing the input data according to the ISO/IEC 18004:2006 standard.
我认为是版本 2。版本 3 是 ISO/IEC 18004:2015 标准。根据文档无法更改 QR 版本。
使用 Core Graphic 库,我能够生成几乎任何类型的 . QR-Code,但是,我无法控制 Swift.
使用的版本根据http://www.qrcode.com/en/about/version.html有几个版本,分别是
当前代码:
let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(vcard, forKey: "inputMessage")
filter?.setValue("M", forKey: "inputCorrectionLevel")
if let output = filter?.outputImage {
let scaleX = qrCode.frame.size.width / output.extent.size.width
let scaleY = qrCode.frame.size.height / output.extent.size.height
let transform = CGAffineTransform(scaleX: scaleX, y: scaleY)
let scaledOutput = output.transformed(by: transform)
self.qrCode.image = UIImage(ciImage: scaledOutput)
}
不允许我控制所使用的二维码版本。它只确保生成的图像不模糊,就是这样。
有没有办法,至于校正级别,将二维码版本传递给Core Image lib?
根据 documentation。
Generates an output image representing the input data according to the ISO/IEC 18004:2006 standard.
我认为是版本 2。版本 3 是 ISO/IEC 18004:2015 标准。根据文档无法更改 QR 版本。