detectFromImageFile static method

Future<BarcodeScanningResult> detectFromImageFile(
  1. Uri file,
  2. {List<BarcodeFormat>? barcodeFormats,
  3. List<BarcodeDocumentFormat>? acceptedDocumentFormats,
  4. BarcodeAdditionalParameters? barcodeAdditionalParameters}
)

Detect barcodes from image file uri The Barcode Scanner is able to recognize 1D- and 2D-barcodes (QR codes, etc). barcodeFormats Format of barcode which need to recognize acceptedDocumentFormats Accepted Format of Documents which need to recognize barcodeAdditionalParameters Additional parameters for tweaking the detection of barcodes.

Implementation

static Future<BarcodeScanningResult> detectFromImageFile(
  Uri file, {
  List<BarcodeFormat>? barcodeFormats,
  List<BarcodeDocumentFormat>? acceptedDocumentFormats,
  BarcodeAdditionalParameters? barcodeAdditionalParameters,
}) async {
  try {
    barcodeAdditionalParameters ??= BarcodeAdditionalParameters();
    acceptedDocumentFormats ??= <BarcodeDocumentFormat>[];
    barcodeFormats ??= const <BarcodeFormat>[];
    var detectFromImageParams = DetectFromImageParams(
      file,
      barcodeFormats,
      acceptedDocumentFormats,
      barcodeAdditionalParameters,
    );
    var barcodeScanningResult = await _channel.invokeMethod(
        'detectFromImageFile', detectFromImageParams.toJson());

    if (wasCanceled(barcodeScanningResult)) {
      return BarcodeScanningResult.canceled();
    }
    return BarcodeScanningResult.fromJson(jsonDecode(barcodeScanningResult));
  } catch (e) {
    return BarcodeScanningResult.error(e.toString());
  }
}