Wenn Sie nicht QRCode an allen verwenden möchten, müssen Sie ein eigenes Muster erstellen, um das Bild zu generieren/lesen.
Aber vielleicht können Sie QRCode verwenden.
QRCode hat eine error correction level. Wenn man es in Betracht zieht, kann man seinen QRCode immer noch ästhetischer gestalten, wenn man danach fragt. Denken Sie nur daran "Je höher die Fehlerkorrekturstufe, desto weniger Speicherkapazität" und Sie können Ihr Bild anpassen, solange der Algorithmus die benötigten Informationen erhalten kann.
Wenn Sie das QRCode Bildmotiv zu erzeugen können Sie es wie folgt tun:
Swift 3,1
private enum InputCorrectionLevel: String {
case low = "L" // 7%
case medium = "M" // 15%
case high = "Q" // 25%
case ultra = "H" // 30%
}
private enum QRCodeGenerationError {
case initializingFilter
case applyingFilter
}
func qrCode(from string: String, withSize frameSize: CGSize) throws -> CIImage {
guard let filter = CIFilter(name: "CIQRCodeGenerator") else {
throw QRCodeGenerationError.initializingFilter
}
let data = string.data(using: .isoLatin1, allowLossyConversion: false)
filter.setValue(data, forKey: "inputMessage")
filter.setValue(InputCorrectionLevel.low.rawValue, forKey: "inputCorrectionLevel")
guard let outputImage = filter.outputImage else {
throw QRCodeGenerationError.applyingFilter
}
let scaleX = frameSize.width/outputImage.extent.size.width
let scaleY = frameSize.height/outputImage.extent.size.height
let qrCodeCIImage = outputImage.applying(CGAffineTransform(scaleX: scaleX, y: scaleY))
return qrCodeCIImage
}
Just checking in, wie das ging. Ist es dir gelungen, Snapcode etwas ähnlicher zu machen als die folgende Lösung? – Chaz
Hallo Rohan hast du Lösung auf diesem ich möchte das gleiche bauen. –
Haben Sie etwas Rohan gefunden? – hyd00