【问题标题】:How to set QRCode version in Swift 4如何在 Swift 4 中设置 QRCode 版本
【发布时间】:2018-04-16 15:50:36
【问题描述】:

使用核心图形库,我几乎可以生成任何类型的 .二维码,但是,我无法控制 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?

【问题讨论】:

    标签: ios swift core-graphics swift4 qr-code


    【解决方案1】:

    根据documentation

    根据 ISO/IEC 18004:2006 标准生成表示输入数据的输出图像。

    我认为是第 2 版。第 3 版是 ISO/IEC 18004:2015 标准。无法根据文档更改 QR 版本。

    【讨论】:

    • 好的。那么,是否有一个 pod 可以对此提供更好的控制?
    • 顺便说一句,我认为您将版本与 ISO ref 混淆了。该版本定义了图像的大小和 inage 中的像素数(请参阅我在原始问题中提到的链接)和en.wikipedia.org/wiki/QR_code
    • 是的,也许你是对的,但文档字面上没有提到版本,所以你无法使用内置的 QR 阅读器控制它。文档只引用了那个 ISO ref,我不确定它是否也引用了版本。它确实跟踪“版本”
    猜你喜欢
    • 1970-01-01
    • 2018-03-09
    • 2023-03-30
    • 2018-10-30
    • 2017-03-12
    • 2014-05-08
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    相关资源
    最近更新 更多