如何使用CIQRCodeGenerator在中间生成带有徽标的QR码

Rod*_*eno 8 qr-code ios cifilter swift

我正在尝试生成一个中间有徽标的二维码,因为它是: 在此输入图像描述.

我使用的是我在这里找到的代码,我的代码是:

func generateQrCode(message: String!) -> CIImage! {

    var data = message.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)

    var filter: CIFilter = CIFilter(name: "CIQRCodeGenerator")
    filter.setValue(data, forKey: "inputMessage")
    filter.setValue("H", forKey: "inputCorrectionLevel")

    return filter.outputImage
}
Run Code Online (Sandbox Code Playgroud)

如何调整代码以生成中间带有自定义徽标的QR?

bry*_*yan 8

只需将中间部分与徽标叠加即可.QR规范不会出现在中间有徽标的某个版本.徽标只是二维码阅读器处理错误的垃圾.您不希望徽标太大,否则由于错误太多而无法读取.

http://en.wikipedia.org/wiki/QR_code#Error_correction

  • @jaskiratjd您不需要输入任何代码。只需将徽标添加到情节提要中,或以编程方式将其居中到您的QR码。QR码“受损时可读”,因此即使您将徽标放在中间也可以读取QR码。也许阅读以下内容:https://www.david-steuber.com/2015/05/placing-a-logo-image-inside-a-qr-code/ (2认同)