2017-07-25 52 views
0

我已經在我的iOS應用程序中用相機讀取了QR code多次。 但是這次我想從我的設備上已存儲的圖像中獲取我的QR code,例如在相冊中。 這樣做的最好方法是什麼?如何從設備中的圖像中讀取QR

回答

1

您可以使用CoreImage來實現此目的。您可以使用CIDetector類來檢查CIDetectorType是否爲CIDetectorTypeQRCode。您可以使用,他們使用從圖像中檢測QR碼這個code

功能是

func performQRCodeDetection(_ image: CIImage) -> (outImage: CIImage?, decode: String) { 
    var resultImage: CIImage? 
    var decode = "" 
    if let detector = detector { 
     let features = detector.features(in: image) 
     for feature in features as! [CIQRCodeFeature] { 
     resultImage = drawHighlightOverlayForPoints(image, topLeft: feature.topLeft, topRight: feature.topRight, 
      bottomLeft: feature.bottomLeft, bottomRight: feature.bottomRight) 
     decode = feature.messageString! 
     } 
    } 
    return (resultImage, decode) 
} 
+0

確定。只是一個基本問題,你從哪裏獲得CIImage?我基本上沒有使用相冊的經驗。 – Michel

+0

在didFinishPickingMediaWithInfo委託函數中,您將獲得圖像 let image = info [UIImagePickerControllerOriginalImage] as? UIImage 您可以將其轉換爲CIImage,如 讓cIImage = CIImage(image:image!) –

+0

OK。非常感謝。 – Michel