Search packages, repositories and app categories

GitHub repositorybladeofgod/flutter_image_editor

flutter_image_editor

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

flutter_image_editor project cover
Stars
51
Forks
32
Last push (UTC)
Nov 2, 2023
Project status
Active

Original README

English project snapshot. Visit GitHub 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{
    ...
}
bladeofgod GitHub avatar
GitHub author

bladeofgod ↗

LanguagesDartJavaRubySwiftObjective-C

Packages published by this repository

Dependencies used

Dependency list 5 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗