2017-07-25 48 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