perfect_scanner 0.0.3 copy "perfect_scanner: ^0.0.3" to clipboard
perfect_scanner: ^0.0.3 copied to clipboard

outdated

Easy to use qr code scanner that uses google ml kit for for image processing and camera for reading the qr.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:perfect_scanner/perfect_scanner.dart';
import 'package:permission_handler/permission_handler.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    permissionHandler();
    super.initState();
  }

  permissionHandler() async {
    Permission status = Permission.camera;
    await status.request();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Builder(builder: (context) {
            return ElevatedButton(
              onPressed: () {
                Navigator.of(context)
                    .push(MaterialPageRoute(builder: (_) => const CamView()));
              },
              child: const Text('Go to'),
            );
          }),
        ),
      ),
    );
  }
}

class CamView extends StatefulWidget {
  const CamView({super.key});

  @override
  State<CamView> createState() => _CamViewState();
}

class _CamViewState extends State<CamView> {
  bool isFlashOn = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        actions: [
          IconButton(
            onPressed: () async {
              final image = await ScannerController.getQrFromImage();
              debugPrint(image);
            },
            icon: const Icon(
              Icons.image,
              color: Colors.white,
            ),
          ),
          IconButton(
            onPressed: () async {
              ScannerController.resumeScanning();
              isFlashOn = await ScannerController.toggleFlash();
              setState(() {});
            },
            icon: Icon(
              isFlashOn ? Icons.flashlight_off : Icons.flashlight_on,
              color: Colors.white,
            ),
          ),
        ],
      ),
      body: SizedBox(
        width: MediaQuery.of(context).size.width,
        child: ScannerView(
          qrOverlay: QrOverlay(
            borderColor: Colors.green,
            borderWidth: 15,
            borderRadius: 10,
            cutOutSize: 300,
          ),
          onScan: (image) {
            if (image.isNotEmpty) {
              ScaffoldMessenger.of(context).showSnackBar(
                SnackBar(
                  content: Text('QR DATA : $image'),
                ),
              );
            }
          },
        ),
      ),
    );
  }
}
3
likes
0
points
16
downloads

Publisher

unverified uploader

Weekly Downloads

Easy to use qr code scanner that uses google ml kit for for image processing and camera for reading the qr.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

camera, flutter, google_mlkit_barcode_scanning, image_picker

More

Packages that depend on perfect_scanner

Packages that implement perfect_scanner