scanImage method
Scan QR code from image bytes (PNG, JPEG, etc.)
Implementation
Future<ParsedQRData?> scanImage(Uint8List imageBytes) async {
try {
// Decode image
final image = img.decodeImage(imageBytes);
if (image == null) return null;
// Convert to grayscale for better QR detection
final grayscale = img.grayscale(image);
// Create luminance source for ZXing
final source = _ImageLuminanceSource(grayscale);
// Decode QR code
final reader = QRCodeReader();
final result = reader.decode(BinaryBitmap(HybridBinarizer(source)));
return parse(result.text);
} catch (e) {
// Failed to decode QR code
print('QR scan error: $e');
}
return null;
}