camera_image_converter 0.0.2 copy "camera_image_converter: ^0.0.2" to clipboard
camera_image_converter: ^0.0.2 copied to clipboard

discontinued

A new flutter plugin project.

example/lib/main.dart

import 'package:camera/camera.dart';
import 'package:camera_image_converter/camera_image_converter.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

List<CameraDescription> cameras = [];

Future<void> main() async {
  // Required for observing the lifecycle state from the widgets layer.
  WidgetsFlutterBinding.ensureInitialized();
  //Request permission for camera

  // Fetch all available cameras.
  cameras = await availableCameras();
  // Keep rotation at portrait mode.
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ]);

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'YUV TO JPEG CONVERSION',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
        scaffoldBackgroundColor: Color.fromARGB(245, 31, 31, 31),
        textTheme: TextTheme(bodyText2: TextStyle(color: Colors.white)),
      ),
      home: AppWithCamera(),
    );
  }
}

class AppWithCamera extends StatefulWidget {
  @override
  _AppWithCameraState createState() => _AppWithCameraState();
}

class _AppWithCameraState extends State<AppWithCamera>
    with WidgetsBindingObserver {
  CameraController controller;
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
    onNewCameraSelected(cameras[0]);
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (controller == null || !controller.value.isInitialized) {
      return;
    }

    if (state == AppLifecycleState.inactive) {
      controller?.dispose();
    } else if (state == AppLifecycleState.resumed) {
      if (controller != null) {
        onNewCameraSelected(controller.description);
      }
    }
  }

  void onNewCameraSelected(CameraDescription cameraDescription) async {
    if (controller != null) {
      await controller?.dispose();
    }
    controller = CameraController(
      cameraDescription,
      ResolutionPreset.medium,
      enableAudio: false,
    );

    // If the controller is updated then update the UI.
    controller.addListener(() {
      if (mounted) setState(() {});
      if (controller.value.hasError) {
        print("Camera error: ${controller.value.errorDescription}");
      }
    });

    await controller.initialize();

    await controller.startImageStream((CameraImage image) async {
      var jpeg =
          await CameraImageConverter.convertCameraImageTo(image, quality: 70);
    });

    if (mounted) {
      setState(() {});
    }
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
        child: Scaffold(
            body: Stack(children: <Widget>[
      Column(
        children: <Widget>[
          Expanded(
            child: CameraPreview(controller),
          ),
        ],
      )
    ])));
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }
}
1
likes
30
pub points
0%
popularity

Publisher

unverified uploader

A new flutter plugin project.

Homepage

License

BSD-3-Clause (LICENSE)

Dependencies

camera, flutter

More

Packages that depend on camera_image_converter