代码之家  ›  专栏  ›  技术社区  ›  Stephane Paquet

如何在Swift 4中设置QRCode版本

  •  1
  • Stephane Paquet  · 技术社区  · 6 年前

    使用核心图形库,我可以生成几乎任何类型的。然而,我无法控制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)
    }
    

    不允许我控制正在使用的二维码的版本。它只确保生成的图像不会模糊,就是这样。

    对于校正级别,是否有办法将qr码版本传递给核心图像库?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Scriptable    6 年前

    根据 documentation

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

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