IOS 原生的二維碼辨認十分之棒,反反比 ZXing 和 ZBar 效果都好些,所以當前計劃盡量用原生的二維碼辨認,然後最近把原生的二維碼生成也特地做了一遍,封了一個小庫方便當前運用。
項目地址:https://github.com/EyreFree/EFQRCode
一.留意事項最低需求 XCode 8.0 以及 Swift 3.0。
二.調用首先,需求在 Podfile 中引入:
pod "EFQRCode", '~> 1.0.0'
什麼,你不知道 Pod?可以參考這裡的 CocoaPods裝置和運用教程。
執行 pod install 之後,在需求運用的中央導入模塊
import EFQRCode
三.二維碼辨認
給 UIImage 添加了擴展,二維碼辨認可以經過 UIImage 對象來調用:
if let testImage = UIImage(named: "test.png") {
let codes = testImage.toQRCodeString()
if codes.count > 0 {
print("There are \(codes.count) codes in testImage.")
for (index, code) in codes.enumerated() {
print("The content of \(index) QR Code is: \(code).")
}
} else {
print("There is no QR Codes in testImage.")
}
}
也可以經過類辦法來調用:
if let testImage = UIImage(named: "test.png") {
let codes = EFQRCode.GetQRCodeString(From: testImage)
if codes.count > 0 {
print("There are \(codes.count) codes in testImage.")
for (index, code) in codes.enumerated() {
print("The content of \(index) QR Code is: \(code).")
}
} else {
print("There is no QR Codes in testImage.")
}
}
四.二維碼生成
可以經過 UIImage 初始化辦法來停止二維碼生成:
if let tryImage = UIImage(QRCodeString: "what the hell.", size: 200, inputCorrectionLevel: .m, iconImage: UIImage(named: "eyrefree"), iconImageSize: 10.0) {
print("Create QRCode image success!")
} else {
print("Create QRCode image failed!")
}
異樣的,也可以經過類辦法類停止調用:
if let tryImage = EFQRCode.CreateQRCodeImage(With: "what the hell.", size: 200, inputCorrectionLevel: .m, iconImage: UIImage(named: "eyrefree"), iconImageSize: 10.0) {
print("Create QRCode image success!")
} else {
print("Create QRCode image failed!")
}
這裡的參數意義如下:
// QRCodeString: 二維碼內容
// size (可選): 二維碼邊長
// inputCorrectionLevel (可選): 容錯率
// L 7%
// M 15%
// Q 25%
// H 30%
// iconImage (可選): 中心圖標
// iconImageSize (可選): 圖標邊長
本文鏈接:https://www.eyrefree.org/2017/01/25/2017-01-25-EFQRCode/
【iOS 原生二維碼生成及 UIImage 中的二維碼辨認】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!