如何使用包装从抖动的图像中读取QR码?

时间:2019-07-05 08:32:33

标签: java android flutter dart flutter-dependencies

我正在使用Flutter构建一个我想扫描图像(包括QR图像)的应用程序。我正在使用可用于读取QR码的软件包,但对我不起作用。是否有任何包装/解决方案可从图像中读取QR码?

我尝试过包裹:

qr_code_tools:^ 0.0.6`

Future _getPhotoByGallery() async {
     var image = await ImagePicker.pickImage(source: ImageSource.gallery);
 String path = image.path;
 decode(path); 
}


Future decode(String path) async {
  print(path);
  String data = await QrCodeToolsPlugin.decodeFrom(path);
  setState(() {
    _data = data;
  });
}

我希望从选定的Gallery图片中获取QRCode的输出。

但是收到错误“ Null”。

2 个答案:

答案 0 :(得分:0)

您可以使用Firebase ML Kit。他们具有条形码扫描功能,请点击here了解更多信息。

答案 1 :(得分:0)

您可以使用此软件包从设备库中读取QR码。 qr_code_tools

String _data = '';

  void _getQrByGallery() {
    Observable<File>.fromFuture(
            ImagePicker.pickImage(source: ImageSource.gallery))
        .flatMap((File file) {
      return Observable<String>.fromFuture(
        QrCodeToolsPlugin.decodeFrom(file.path),
      );
    }).listen((String data) {
      setState(() {
        _data = data;
      });
    }).onError((dynamic error, dynamic stackTrace) {
      setState(() {
        _data = '';
      });
    });
  }