masamune_camera 2.6.15 copy "masamune_camera: ^2.6.15" to clipboard
masamune_camera: ^2.6.15 copied to clipboard

unlisted[pending analysis]

Masamune plug-in package for simple use of the camera.

example/lib/main.dart

// Dart imports:

// ignore_for_file: use_build_context_synchronously

// Flutter imports:
import 'package:flutter/material.dart';

// Package imports:
import 'package:masamune/masamune.dart';
import 'package:masamune_camera/masamune_camera.dart';

final List<MasamuneAdapter> masamuneAdapters = [
  const MobileCameraMasamuneAdapter(),
];

void main() {
  runMasamuneApp(
    masamuneAdapters: masamuneAdapters,
    (ref) => MasamuneApp(
      home: const CameraPage(),
      title: "Flutter Demo",
      masamuneAdapters: ref.adapters,
      theme: AppThemeData(
        primary: Colors.blue,
      ),
    ),
  );
}

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

  @override
  State<StatefulWidget> createState() => CameraPageState();
}

class CameraPageState extends State<CameraPage> {
  final cameraController = Camera();

  @override
  void didChangeDependencies() async {
    super.didChangeDependencies();
    await cameraController.initialize().showIndicator(context);
    setState(() {});
  }

  @override
  Widget build(BuildContext context) {
    if (cameraController.initialized == false) {
      return const Scaffold(
        body: Center(
          child: CircularProgressIndicator(),
        ),
      );
    }
    return Scaffold(
      appBar: AppBar(
        title: const Text("Camera"),
      ),
      body: cameraController.preview,
      floatingActionButton: FloatingActionButton(
        onPressed: () async {
          final value = await cameraController.takePicture();
          if (value?.bytes == null) {
            return;
          }
          Modal.show(
            context,
            contentPadding: const EdgeInsets.fromLTRB(16.0, 12.0, 16.0, 16.0),
            modal: CameraModal(value: value),
          );
        },
        child: const Icon(Icons.camera),
      ),
    );
  }
}

class CameraModal extends Modal {
  const CameraModal({required this.value});

  final CameraValue? value;

  @override
  Widget build(BuildContext context, ModalRef ref) {
    return Column(
      children: [
        ClipRRect(
          borderRadius: BorderRadius.circular(8.0),
          child: SizedBox(
            width: 256,
            height: 256,
            child: Image.memory(
              value!.bytes!,
              fit: BoxFit.cover,
            ),
          ),
        ),
        const SizedBox(height: 16),
        FilledButton(
          onPressed: () {
            ref.close();
          },
          child: const Text("Close"),
        ),
      ],
    );
  }
}
0
likes
0
points
1.16k
downloads

Publisher

verified publishermathru.net

Weekly Downloads

Masamune plug-in package for simple use of the camera.

Homepage
Repository (GitHub)
View/report issues

License

(pending) (license)

Dependencies

camera, flutter, image, katana, masamune, path_provider, permission_handler

More

Packages that depend on masamune_camera