Roh*_*hra 15 qr-code ios snapchat swift scannable-code
我正在构建一个使用QR码连接用户的应用程序,类似于Snapchat允许用户在Snapchat上互相添加的方式.
我希望使用更加美观的QR码替代品,类似于Snapchat的Snapcode.想知道如何在iOS应用程序中完成它吗?
如果您根本不想使用 QRCode,则必须创建自己的模式来生成/读取图像。
但也许你可以使用 QRCode。
QRCode 具有纠错级别。考虑到这一点,您仍然可以按照您的要求使您的 QRCode 更加美观。只要记住“纠错级别越高,存储容量就越少”,只要算法能够获取您需要的信息,您就可以自定义图像。
当你生成 QRCode 图像时,你可以这样做:
斯威夫特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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2175 次 |
| 最近记录: |