咨询Flutter中可识别图片条码/二维码并返回类型的第三方包
Flutter 图片条码/二维码扫描并返回类型的第三方包推荐
以下两个第三方包可以满足从图片中扫描条码/二维码并返回对应条码类型的需求:
1. flutter_zxing
- 支持从本地图片、内存图片解析多种条码格式(QR Code、Code 128、EAN-13等),跨平台兼容Android、iOS
- 扫描结果会包含条码内容和具体类型,类型以枚举形式返回(如
QR_CODE、CODE_128)
示例代码:
import 'package:flutter_zxing/flutter_zxing.dart'; import 'package:image_picker/image_picker.dart'; Future<void> scanBarcodeFromGallery() async { final imagePicker = ImagePicker(); final pickedImage = await imagePicker.pickImage(source: ImageSource.gallery); if (pickedImage != null) { final scanResult = await ZxingReader.scanImage(pickedImage.path); if (scanResult.isValid) { print('扫描内容:${scanResult.text}'); print('条码类型:${scanResult.format.name}'); } } }
2. barcode_scan2
- 除了实时摄像头扫描,也支持从本地图片文件解析条码,返回的结果对象包含条码类型信息
- 支持的条码格式覆盖常见类型,使用方式简单
示例代码:
import 'package:barcode_scan2/barcode_scan2.dart'; import 'package:image_picker/image_picker.dart'; Future<void> scanFromLocalImage() async { final picker = ImagePicker(); final selectedImage = await picker.pickImage(source: ImageSource.gallery); if (selectedImage != null) { final ScanResult result = await BarcodeScanner.scanImage(selectedImage.path); print('扫描内容:${result.rawContent}'); print('条码类型:${result.format}'); } }
这两个包都能解决你之前使用scan和FlutterBarcodeScan无法获取条码类型的问题,它们的扫描结果对象中都包含明确的条码类型字段。
内容的提问来源于stack exchange,提问作者Asliddin
相关产品推荐
相关产品推荐

