flutter_easy_camera 0.0.6 copy "flutter_easy_camera: ^0.0.6" to clipboard
flutter_easy_camera: ^0.0.6 copied to clipboard

EasyCamera is a Flutter plugin for seamless camera integration, offering customizable settings, preview styles, and intuitive controls for capturing images.

EasyCamera #

Flutter EasyCamera is a Flutter plugin that simplifies camera integration with customizable configurations. It provides a flexible and intuitive interface for capturing images while allowing developers to configure camera settings, preview styles, and control visibility.

Features #

  • Initialize and fetch available cameras
  • Customize camera controls (flash, switch camera, capture, close button, etc.)
  • Configure preview scaling
  • Set image resolution
  • Enable debug logs
  • Handle captured images with callbacks

Installation #

Add the dependency in your pubspec.yaml:

dependencies:
  easy_camera: latest_version
copied to clipboard

Then, run:

flutter pub get
copied to clipboard

Usage #

1. Initialize EasyCamera #

Before using the camera, initialize it after ensuring Flutter bindings are initialized:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await EasyCamera.initialize(printLogs: true);
  runApp(const MyApp());
}
copied to clipboard

2. Configure the Camera #

Create a CameraConfig instance to customize camera settings:

final CameraConfig config = CameraConfig(
  imageResolution: ImageResolution.high,
  defaultCameraType: CameraType.front,
  defaultFlashType: CameraFlashType.off,
  showControls: true,
  showCaptureIcon: true,
  showFlashControl: true,
  showCameraSwitchIcon: true,
  showCloseIcon: true,
  cameraPreviewSize: CameraPreviewSize.fill,
  focusColor: Colors.blue,
  showImagePreview: true,
);
copied to clipboard

3. Open Camera View #

Use EasyCamera.cameraView to display the camera:

EasyCamera.cameraView(
  config: config,
  onCapture: (XFile? file) async {
    if (file != null && context.mounted) {
      Navigator.pop(context, file);
    }
  },
);
copied to clipboard

Preview #

Portrait Mode #

EasyCamera Portrait

Landscape Mode #

EasyCamera Landscape

Camera Configuration #

The CameraConfig class allows customization of various camera settings:

const CameraConfig({
  this.imageResolution = ImageResolution.medium,
  this.defaultCameraType = CameraType.front,
  this.defaultFlashType = CameraFlashType.off,
  this.showControls = true,
  this.showCaptureIcon = true,
  this.showFlashControl = true,
  this.showCameraSwitchIcon = true,
  this.showCloseIcon = true,
  this.captureIcon,
  this.cameraSwitchIcon,
  this.flashControlBuilder,
  this.closeIcon,
  this.cameraPreviewSize = CameraPreviewSize.fill,
  this.minAvailableZoom = 1.0,
  this.maxAvailableZoom = 1.0,
  this.focusColor = Colors.white,
  this.showImagePreview = true,
});
copied to clipboard

Available Options #

Parameter Description
imageResolution Image resolution (low, medium, high)
defaultCameraType Front or back camera
defaultFlashType Flash mode (on, off, auto)
showControls Show or hide all camera controls
showCaptureIcon Show capture button
showFlashControl Show flash toggle button
showCameraSwitchIcon Show switch camera button
showCloseIcon Show close button
cameraPreviewSize Preview scaling (fill, fit)
minAvailableZoom Minimum zoom level
maxAvailableZoom Maximum zoom level
focusColor Color of the focus indicator
showImagePreview Show preview after capturing an image

Camera Preview Size Enum #

enum CameraPreviewSize { fill, normal }

extension CameraPreviewSizeExtension on CameraPreviewSize {
  double get scale {
    return switch (this) {
      CameraPreviewSize.normal => 5 / 7,
      CameraPreviewSize.fill => 0,
    };
  }
}
copied to clipboard

Logging #

To enable logs, set printLogs: true during initialization.

await EasyCamera.initialize(printLogs: true);
copied to clipboard

License #

This project is licensed under the MIT License. Feel free to use and modify it as needed.

5
likes
150
points
274
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.16 - 2025.03.31

EasyCamera is a Flutter plugin for seamless camera integration, offering customizable settings, preview styles, and intuitive controls for capturing images.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

camera, flutter, image_editor, native_device_orientation, photo_view, plugin_platform_interface

More

Packages that depend on flutter_easy_camera