13
我正在構建一個使用QR碼連接用戶的應用程序,類似於Snapchat如何允許用戶在Snapchat上添加對方。如何生成一個與Snapchat的Snapcode類似的圖像,並以相同的方式使用?
我一直希望能夠使用一種更美觀的QR碼替代方案,類似於Snapchat的Snapcode。任何關於如何在iOS應用程序中完成的想法?
我正在構建一個使用QR碼連接用戶的應用程序,類似於Snapchat如何允許用戶在Snapchat上添加對方。如何生成一個與Snapchat的Snapcode類似的圖像,並以相同的方式使用?
我一直希望能夠使用一種更美觀的QR碼替代方案,類似於Snapchat的Snapcode。任何關於如何在iOS應用程序中完成的想法?
如果你不想使用QRCode 在所有你必須創建自己的模式來生成/閱讀圖像。
但也許你可以使用QRCode。
QRCode有一個error correction level。考慮到它,你仍然可以讓你的QRCode更符合你的要求美觀。請記住,「糾錯級別越高,存儲容量越少」,只要算法可以獲取所需的信息,您就可以自定義圖像。
當你生成QR碼圖像,你可以做這樣的:
雨燕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
}
只是檢查在如何去。您是否成功製作了與捕捉代碼更類似的東西,而不是使用下面的解決方案? – Chaz
嗨羅漢你有沒有得到解決方案,我想建立相同的。 –
你找到什麼Rohan了嗎? – hyd00