美文网首页iOS Developer
iOS 生成二维码

iOS 生成二维码

作者: 恶趣味鱼 | 来源:发表于2017-04-19 15:36 被阅读123次

CIFilter用来创建图像滤镜,一般通过kCIInputImageKey提供输入图像,通过outputImage得到处理过的图像。但是也有一些其他用处,例如CIQRCodeGenerator可以生成二维码。
CIQRCodeGenerator可以有两个参数inputMessageinputCorrectionLevel
inputMessage: 是一个Data类型的二维码数据, inputCorrectionLevel:控制生产二维码的容错率

inputMessage 官方推荐用isoLatin1编码,但是其实这种编码并不支持中文,实测用utf8是可以的

let string = "I love you"
if let data = string.data(using: .utf8) {
    let parameters:[String:Any] = ["inputMessage":data]
    let filter = CIFilter(name: "CIQRCodeGenerator", withInputParameters: parameters)
    if let outputImage = filter?.outputImage {
        //处理outputImage
    }
}

outputImage是一个CIImage对象,可以通过applying(_ matrix: CGAffineTransform) -> CIImage缩放成合适的大小。

相关文章

网友评论

    本文标题:iOS 生成二维码

    本文链接:https://www.haomeiwen.com/subject/yseczttx.html