iOS Developer

iOS 生成二维码

2017-04-19  本文已影响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缩放成合适的大小。

上一篇 下一篇

猜你喜欢

热点阅读