Search packages, repositories and app categories

image_editor_dove cover
Package detailsv0.0.3

image_editor_dove

An image editor with crop, scribble, mosaic, add-text, flip, rotated functions.

AndroidiOS
30-day downloads
24
Likes
36
Pub points
130

Install package

flutter pub add image_editor_dove

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package for editing images with essential tools like cropping, scribbling, applying mosaics, adding text, flipping, and rotating. Designed for developers seeking to integrate basic yet powerful image editing capabilities directly into their apps. It supports both Android and iOS platforms, offering a straightforward API for common editing tasks. The package is open-source and hosted on GitHub, enabling community contributions and transparency. Ideal for apps requiring in-app photo customization without relying on external services.

Use cases

  • In-app photo editing
  • Social media app features
  • User profile image customization
  • Photo sharing applications
  • Content creation tools

Key features

  • Crop images
  • Draw with scribble tool
  • Apply mosaic effects
  • Add custom text
  • Flip and rotate images
  • Cross-platform support

Suitable for

  • Mobile app developers
  • Social media platforms
  • Photo editing tools
  • User-generated content apps
  • Apps needing lightweight image editing

Considerations

  • Limited to basic editing functions
  • No advanced filters or effects
  • Requires manual handling of image saving
  • Depends on external dependencies for compression
  • Not optimized for high-resolution images

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

image_editor_dove

A high-performance image editor with crop, scribble, mosaic, add-text, flip, rotated functions.

Support custom ui style.

  • drawing

draw.gif

  • rotate

flip&rotate.gif

  • mosaic

mosaic.gif

  • add or delete text

text_delete.gif

addtext_done.gif

Getting Started

First, add image_editor: as a dependency in your pubspec.yaml file.

import

import 'package:image_editor/flutter_image_editor.dart';

iOS Add the following keys to your Info.plist file, located in /ios/Runner/Info.plist:

  • NSPhotoLibraryUsageDescription - describe why your app needs permission for the photo library. This is called Privacy - Photo Library Usage Description in the visual editor.
  • NSCameraUsageDescription - describe why your app needs access to the camera. This is called Privacy - Camera Usage Description in the visual editor.
  • NSMicrophoneUsageDescription - describe why your app needs access to the microphone, if you intend to record videos. This is called Privacy - Microphone Usage Description in the visual editor. Or in text format add the key:
<key>NSPhotoLibraryUsageDescription</key>
<string>Used to demonstrate image picker plugin</string>
<key>NSCameraUsageDescription</key>
<string>Used to demonstrate image picker plugin</string>
<key>NSMicrophoneUsageDescription</key>
<string>Used to capture audio for image picker plugin</string>

Android

No configuration required - the plugin should work out of the box.

Usage

pick an image that wanna edit, and pass it to image editor like this:

  Future<void> toImageEditor(File origin) async {
    return Navigator.push(context, MaterialPageRoute(builder: (context) {
      return ImageEditor(
        originImage: origin,
        //this is nullable, you can custom new file's save postion
        savePath: customDirectory
      );
    })).then((result) {
      if (result is EditorImageResult) {
        setState(() {
          _image = result.newFile;
        });
      }
    }).catchError((er) {
      debugPrint(er);
    });
  }

custom ui style

You can extends ImageEditorDelegate and custom editor's widget:

ImageEditor.uiDelegate = YouUiDelegate();

class YouUiDelegate extends ImageEditorDelegate{
    ...
}

Categories

Dependencies

Dependency list 3 items

Source repository

Projects using this package

No data available yet.