iOS 生成二維碼

CIFilter用來創(chuàng)建圖像濾鏡,一般通過kCIInputImageKey提供輸入圖像,通過outputImage得到處理過的圖像。但是也有一些其他用處,例如CIQRCodeGenerator可以生成二維碼。
CIQRCodeGenerator可以有兩個參數(shù)inputMessageinputCorrectionLevel。
inputMessage: 是一個Data類型的二維碼數(shù)據(jù), inputCorrectionLevel:控制生產(chǎn)二維碼的容錯率

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縮放成合適的大小。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS7之后,可以使用原生的CIFilter創(chuàng)建二維碼。 一、生成二維碼 首先是二維碼的生成,使用CIFilter...
    _悟了個空閱讀 584評論 0 1
  • *************************具體方法*************************** ...
    _源計劃閱讀 2,818評論 2 2
  • 首先先了解一下二維碼的容錯(例如微信的二維碼中間附帶頭像圖片): 二維碼都有一定的糾錯,就是有部分污損或者破損都沒...
    零零貳叁閱讀 1,341評論 0 0
  • ZBar 應(yīng)該沒有 生成二維碼的功能。正好之前班獸分享過一個生成二維碼的功能 拿過來看看。首先添加依賴 然后 im...
    撓叔閱讀 346評論 0 1
  • 與娟相識有點戲劇性,就像肥皂劇一樣,我舍友追她舍友,最后她們兩個不了了之,而我和娟的關(guān)系卻變得糾纏不清。 ...
    墨書醉閱讀 287評論 0 0

友情鏈接更多精彩內(nèi)容