Flutter plugin, support android/ios.Support crop, flip, rotate, color martix, mix image, add text. merge multi images.

Overview

image_editor

BUILD

The version of readme pub and github may be inconsistent, please refer to github.

Use native(objc,kotlin) code to handle image data, it is easy to process pictures, and can be used for saving/uploading/preview images.

Screenshot

img

Platform of support

Android, iOS.

Change Log

This version is a null-safety version.

Please read document for null-safety information in dart or flutter.

Support

  • flip
  • crop
  • rotate
  • scale
  • matrix
  • add text
  • mix image
  • merge multi image
  • draw somethings
    • draw point
    • draw line
    • draw rect
    • draw circle
    • draw path
    • draw Bezier
  • Gaussian blur

ImageEditor Usage

pub package GitHub GitHub stars

dependencies:
  image_editor: $latest

About version, please find it from pub.

Import

import 'package:image_editor/image_editor.dart';

Method list:

ImageEditor.editImage();
ImageEditor.editFileImage();
ImageEditor.editFileImageAndGetFile();
ImageEditor.editImageAndGetFile();

Example used alone

Example of extended_image

ImageEditor method params

Name Description
image dart.typed_data.Uint8List
file dart.io.File
imageEditorOption flutter_image_editor.ImageEditorOption

ImageEditorOption

final editorOption = ImageEditorOption();
editorOption.addOption(FlipOption());
editorOption.addOption(ClipOption());
editorOption.addOption(RotateOption());
editorOption.addOption(); // and other option.

editorOption.outputFormat = OutputFormat.png(88);

Option

Flip

FlipOption(horizontal:true, vertical:false);

Clip

ClipOption(x:0, y:0, width:1920, height:1920);

Rotate

RotateOption(degree: 180);

Color Martix

ColorOption();

it's use 5x4 matrix : https://developer.android.google.cn/reference/android/graphics/ColorMatrix.html Although it is an Android document, the color matrix is also applicable to iOS.

a, b, c, d, e,
f, g, h, i, j,
k, l, m, n, o,
p, q, r, s, t

ColorOption has some factory constructor to help use change brightness, saturation and contrast. If you have more color matrix, you can open Pull Requests or issue.

Scale

ScaleOption(width,height);

After specifying the width and height, it is not clipped, but stretched to the specified width and height (Does not maintain the aspect ratio of the image).

AddText

All of unit is pixel.

final textOption = AddTextOption();
textOption.addText(
  EditorText(
    offset: Offset(0, 0),
    text: this._controller.text,
    fontSizePx: size,
    color: Colors.red,
    fontName: '', // You must register font before use. If the fontName is empty string, the text will use default system font.
  ),
);
FontManager

Here we can use FontManager to register font.

File fontFile = File(path)//;
final String fontName = await FontManager.registerFont(fontFile);

// the fontName can be use int EditorText.
final textOption = AddTextOption();
textOption.addText(
  EditorText(
    offset: Offset(0, 0),
    text: this._controller.text,
    fontSizePx: size,
    color: Colors.red,
    fontName: fontName, // You must register font before use.
  ),
);

MixImage

void mix(BlendMode blendMode) async {
  final src = await loadFromAsset(R.ASSETS_SRC_PNG);
  final dst = await loadFromAsset(R.ASSETS_DST_PNG);
  final optionGroup = ImageEditorOption();
  optionGroup.outputFormat = OutputFormat.png();
  optionGroup.addOption(
    MixImageOption(
      x: 300,
      y: 300,
      width: 150,
      height: 150,
      target: MemoryImageSource(src),
      blendMode: blendMode,
    ),
  );
  final result =
      await ImageEditor.editImage(image: dst, imageEditorOption: optionGroup);
  this.image = MemoryImage(result);
  setState(() {});
}
BlendMode

Support next BlendMode, other will be ignored. You can also see the document of flutter.

iOS android(PorterDuff.Mode) flutter(BlendMode)
kCGBlendModeClear CLEAR clear
  SRC src
  DST dst
kCGBlendModeNormal SRC_OVER srcOver
kCGBlendModeDestinationOver DST_OVER dstOver
kCGBlendModeSourceIn SRC_IN srcIn
kCGBlendModeDestinationIn DST_IN dstIn
kCGBlendModeSourceOut SRC_OUT srcOut
kCGBlendModeDestinationOver DST_OUT dstOut
kCGBlendModeSourceAtop SRC_ATOP srcATop
kCGBlendModeDestinationAtop DST_ATOP dstATop
kCGBlendModeXOR XOR xor
kCGBlendModeDarken DARKEN darken
kCGBlendModeLighten LIGHTEN lighten
kCGBlendModeMultiply MULTIPLY multiply
kCGBlendModeScreen SCREEN screen
kCGBlendModeOverlay OVERLAY overlay

DrawOption

Main class : DrawOption

Support:

  • Line
  • Rect
  • Oval
  • Points
  • Path
    • move
    • line
    • bezier2
    • bezier3

Example

Style of paint: DrawPaint, user can set lineWeight,color,style(stroke,fill).

OutputFormat

var outputFormat = OutputFormat.png();
var outputFormat = OutputFormat.jpeg(95);

ImageMerge

    final slideLength = 180.0;
    final option = ImageMergeOption(
      canvasSize: Size(slideLength * count, slideLength * count),
      format: OutputFormat.png(),
    );

    final memory = await loadFromAsset(R.ASSETS_ICON_PNG);
    for (var i = 0; i < count; i++) {
      option.addImage(
        MergeImageConfig(
          image: MemoryImageSource(memory),
          position: ImagePosition(
            Offset(slideLength * i, slideLength * i),
            Size.square(slideLength),
          ),
        ),
      );
    }
    for (var i = 0; i < count; i++) {
      option.addImage(
        MergeImageConfig(
          image: MemoryImageSource(memory),
          position: ImagePosition(
            Offset(
                slideLength * count - slideLength * (i + 1), slideLength * i),
            Size.square(slideLength),
          ),
        ),
      );
    }

    final result = await ImageMerger.mergeToMemory(option: option);
    provider = MemoryImage(result);
    setState(() {});

LICENSE

MIT Style.

Third party

Under Apache 2.0 style:

Some martix code come from android sdk.

TrueTypeParser : Use it to read font name.

Comments
  • Error UIImagePNGRepresentation

    Error UIImagePNGRepresentation

    I am stuck on that error

    Building com.test.test for device (ios-release)... Automatically signing iOS for device deployment using specified development team in Xcode project: X9AA3H6FU7 Running Xcode build...

    Xcode build done. 93,4s Failed to build iOS app Error output from Xcode build: ↳ 2020-01-10 18:32:10.216 xcodebuild[39337:1086707] DTDeviceKit: deviceType from 10a025c153535457fc6c9f1bd506a2b199804219 was NULL ** BUILD FAILED **

    Xcode's output: ↳ /Users/uogforceone/documents/flutter/.pub-cache/hosted/pub.dartlang.org/image_editor-0.1.6/ios/Classes/UIImageHandler.swift:36:20: error: 'UIImagePNGRepresentation' has been replaced by instance method 'UIImage.pngData()' return UIImagePNGRepresentation(image) ^~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ image.pngData
    UIKit.UIImagePNGRepresentation:2:13: note: 'UIImagePNGRepresentation' was obsoleted in Swift 3 public func UIImagePNGRepresentation(_ image: UIImage) -> Data? ^ /Users/uogforceone/documents/flutter/.pub-cache/hosted/pub.dartlang.org/image_editor-0.1.6/ios/Classes/UIImageHandler.swift:38:20: error: 'UIImageJPEGRepresentation' has been replaced by instance method 'UIImage.jpegData(compressionQuality:)' return UIImageJPEGRepresentation(image, CGFloat(format.quality) / 100) ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ image.jpegData compressionQuality: UIKit.UIImageJPEGRepresentation:2:13: note: 'UIImageJPEGRepresentation' was obsoleted in Swift 3 public func UIImageJPEGRepresentation(_ image: UIImage, _ compressionQuality: CGFloat) -> Data? ^ warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/UIKit-2LM3EQU7VVY4O.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/UIKit-2LM3EQU7VVY4O.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/Foundation-A3SOD99KJ0S9.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/Foundation-A3SOD99KJ0S9.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/MobileCoreServices-FJAFSB4GMRIG.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/MobileCoreServices-FJAFSB4GMRIG.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/ObjectiveC-1KD62J152BYGO.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/ObjectiveC-1KD62J152BYGO.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/ImageIO-1I03OOXLFD3W9.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/ImageIO-1I03OOXLFD3W9.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/CoreFoundation-10I2D2XL7L7X9.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/CoreFoundation-10I2D2XL7L7X9.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/Darwin-MI6WZSG1PNOM.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/Darwin-MI6WZSG1PNOM.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/CoreGraphics-1TH4RJJRQVFOC.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/CoreGraphics-1TH4RJJRQVFOC.pcm warning: /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/Photos-3GN2TRT9ZVVF.pcm: No such file or directory note: while processing /Users/uogforceone/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/MS5960MZXDD7/Photos-3GN2TRT9ZVVF.pcm note: Using new build system note: Planning build note: Constructing build description

    opened by pilotviper134 16
  • is there a way to rotate by angle?

    is there a way to rotate by angle?

    I would like to add a slider to rotate:

    this is how far I got:

    Expanded(
      child: Slider(
        divisions: 361,
        value: _rotation,
        min: -180,
        max: 180,
        label: '$_rotation°',
        onChanged: (n) {
          setState(() {
            _rotation = n.roundToDouble();
            editorKey.currentState.editAction.rotate(
                _rotation,
                editorKey.currentState.getCropRect(),
                BoxFit.fitHeight);
          });
        },
      ),
    ),
    

    It rotates into oblivion 😅

    type: help wanted 
    opened by fenchai23 8
  • ios图片裁剪后得到的图片翻转了90度

    ios图片裁剪后得到的图片翻转了90度

    我在使用iOS裁剪图片时发现图片裁剪后翻转了90度,

    Future<List<int>> cropImageDataWithNativeLibrary(
        {ExtendedImageEditorState state}) async {
      print("native library start cropping");
    
      final cropRect = state.getCropRect();
      final action = state.editAction;
    
      final rotateAngle = action.rotateAngle.toInt();
      final flipHorizontal = action.flipY;
      final flipVertical = action.flipX;
      final img = state.rawImageData;
    
      ImageEditorOption option = ImageEditorOption();
    
      if (action.needCrop) option.addOption(ClipOption.fromRect(cropRect));
    
      if (action.needFlip)
        option.addOption(
            FlipOption(horizontal: flipHorizontal, vertical: flipVertical));
    
      if (action.hasRotateAngle) option.addOption(RotateOption(rotateAngle));
    
      final start = DateTime.now();
      final result = await ImageEditor.editImage(
        image: img,
        imageEditorOption: option,
      );
    
      print("${DateTime.now().difference(start)} :total time");
      return result;
    }
    

    通过debug可以发现option.groupList中只有一个ClipCption

    opened by 1254741584 8
  • Platform exception

    Platform exception

    log:

    PlatformException(decode bitmap error, null, null)

    E/flutter ( 2985): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(decode bitmap error, null, null) E/flutter ( 2985): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7) E/flutter ( 2985): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:18) E/flutter ( 2985): E/flutter ( 2985): #2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12) E/flutter ( 2985): #3 NativeChannel.memoryToMemory (package:image_editor/src/channel.dart:37:21) E/flutter ( 2985): #4 ImageHandler.handleAndGetUint8List (package:image_editor/src/image_handler.dart:48:30) E/flutter ( 2985): #5 ImageEditor.editImage (package:image_editor/image_editor.dart:32:27) E/flutter ( 2985): #6 _ImageEditWidgetState.crop (package:gintaa_people/widgets/image_edit/image_edit.dart:317:40) E/flutter ( 2985): #7 _ImageEditWidgetState.build. (package:gintaa_people/widgets/image_edit/image_edit.dart:114:17) E/flutter ( 2985): #8 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:779:19) E/flutter ( 2985): #9 _InkResponseState.build. (package:flutter/src/material/ink_well.dart:862:36) E/flutter ( 2985): #10 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24) E/flutter ( 2985): #11 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:504:11) E/flutter ( 2985): #12 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:282:5) E/flutter ( 2985): #13 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:217:7) E/flutter ( 2985): #14 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:475:9) E/flutter ( 2985): #15 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:76:12) E/flutter ( 2985): #16 PointerRouter._dispatchEventToRoutes. (package:flutter/src/gestures/pointer_router.dart:122:9) E/flutter ( 2985): #17 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8) E/flutter ( 2985): #18 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:120:18) E/flutter ( 2985): #19 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:106:7) E/flutter ( 2985): #20 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19) E/flutter ( 2985): #21 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22) E/flutter ( 2985): #22 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7) E/flutter ( 2985): #23 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7) E/flutter ( 2985): #24 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7) E/flutter ( 2985): #25 _rootRunUnary (dart:async/zone.dart:1196:13) E/flutter ( 2985): #26 _CustomZone.runUnary (dart:async/zone.dart:1085:19) E/flutter ( 2985): #27 _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7) E/flutter ( 2985): #28 _invoke1 (dart:ui/hooks.dart:275:10) E/flutter ( 2985): #29 _dispatchPointerDataPacket (dart:ui/hooks.dart:184:5)

    Note - JDK 1.14, Gradle 6.4.1 and Flutter 1.17.2 type: help wanted type: question 
    opened by prasantco 7
  • Remove unnecessary memory consuming temp bitmap

    Remove unnecessary memory consuming temp bitmap

    On Android tmpBitmap consumes unnecessary memory in rotate and flip and there is no need for it.

    This change halves the memory consumption avoiding oom issues.

    opened by kreativityapps 5
  • - Fixes scaling on android and added aspect ratio

    - Fixes scaling on android and added aspect ratio

    Hello there!

    I needed the option to keep the aspect ratio of the original image while scaling. I added this functionality to Android and iOS, I also tested it on my devices and hope it helps you as it helps me. Also, this fixes issue 65 (https://github.com/fluttercandies/flutter_image_editor/issues/65) which prevents the pictures from being scaled to bigger sizes on Android.

    Best wishes, ruerob

    opened by ruerob 5
  • Error: MissingPluginException(No implementation found for method memoryToMemory on channel top.kikt/flutter_image_editor)

    Error: MissingPluginException(No implementation found for method memoryToMemory on channel top.kikt/flutter_image_editor)

    flutter channel: dev (Flutter Web).

    when run code below on Flutter Web: final editorOption = editor.ImageEditorOption(); editorOption.addOption(editor.RotateOption(-90)); editorOption.outputFormat = editor.OutputFormat.jpeg(100); Future list = editor.ImageEditor.editImage(image: imageData.srcImageBytes, imageEditorOption: editorOption);

    i got: Overflow on channel: top.kikt/flutter_image_editor. Messages on this channel are being discarded in FIFO fashion. The engine may not be running or you need to adjust the buffer size if of the channel. Error: MissingPluginException(No implementation found for method memoryToMemory on channel top.kikt/flutter_image_editor)

    any body help please, thank you.

    opened by kokocooler2020 4
  • add text to image

    add text to image

    Why my text add only to left top corner? i try change offset: Offset(1, 1),but it do not working .

    textOption.addText(
          EditorText(
            text: '$lat $lng',
            fontSizePx: size,
            textColor: const Color(0xFF995555),
            offset: Offset(1, 1),
          ),
        );
        option.outputFormat = const OutputFormat.jpeg(100);
    
        option.addOption(textOption);
    
    opened by Hopheylalal 3
  • Documentation for EditorText.

    Documentation for EditorText.

    EditorText( offset: const Offset(79.1, 201.8), text: _controller.text, fontSizePx: size, textColor: const Color(0xFF995555), fontName: fontName, ),

    i tried localPosition as well as the globalPosition in the offset but it seems to place somewhere else. How to preemptively calculate the offset to place text in required position in the image

    opened by cimplesid 3
  • "decode image error" with Webp images on iOS

    I'm using https://github.com/fluttercandies/extended_image/blob/bea01a274fb621ab82db1ae8de4b4dc1c0b8bbac/example/lib/pages/image_editor_demo.dart with a webp image and keep getting decode image error.

    Webp is supported by Flutter: https://github.com/flutter/flutter/issues/9857

    I'm guessing this is because iOS doesn't natively support Webp, but perhaps there should be some sort of workaround since Flutter has built-in support?

    opened by cpboyd 3
  • ios工程出错

    ios工程出错

    ..../flutter/.pub-cache/hosted/pub.flutter-io.cn/image_editor-0.1.4/ios/Classes/FlutterImageEditorPlugin.m:2:9: 'image_editor/image_editor-Swift.h' file not found

    请问这个问题怎么解决?

    opened by deekea 3
  • is GIF crop supported ?

    is GIF crop supported ?

    Hi there,

    The crop is working great for .jpg or .png but I'm not able to crop an animated GIF with this method :

     Future<Uint8List?> cropImageDataWithNativeLibrary(
          ExtendedImageEditorState? state) async {
        final Rect? cropRect = state!.getCropRect();
        final EditActionDetails? action = state.editAction;
    
        Uint8List? result;
    
        if (action != null) {
          final int rotateAngle = action.rotateAngle.toInt();
          final bool flipHorizontal = action.flipY;
          final bool flipVertical = action.flipX;
          final Uint8List img = state.rawImageData;
    
          final ImageEditorOption option = ImageEditorOption();
         
          if (action.needCrop && cropRect != null) {
            option.addOption(ClipOption.fromRect(cropRect));
          }
    
    
          if (action.needFlip) {
            option.addOption(
                FlipOption(horizontal: flipHorizontal, vertical: flipVertical));
          }
    
        
          if (action.hasRotateAngle) {
            option.addOption(RotateOption(rotateAngle));
          }
    
         
          result = await ImageEditor.editImage(
            image: img,
            imageEditorOption: option,
          );
        }
        return result;
      }
    

    Is the GIF crop is supported ? I also tried editImageAndGetFile() but get no result.

    How can this be done ? Thanks for help

    type: feature handle: wontfix 
    opened by Nico3652 0
  • type 'Null' is not a subtype of type 'FutureOr<Uint8List>'

    type 'Null' is not a subtype of type 'FutureOr'

    This error appears here: channel.dart in NativeChannel.memoryToMemory at line 44 within image_editor

    I could no reproduce the issue, but it's been happening for some of our users, all on iOS 15 so far.

    platform: ios handle: need example type: unknown 
    opened by louisdeveseleer 0
  • MixImageOption add rotation functionality

    MixImageOption add rotation functionality

    Hey 👋 awesome project,

    would it be possible for you to add optional rotation to the MixImageOption for ImageEditor.editImage()?

    I have a use-case where the user first places and rotates an image on top of another, and then I would like to mix them together with your provided blend options. As far as I can see this is not possible yet, right?

    opened by NicolasDurant 0
Releases(1.3.0)
  • 1.1.0(Jul 19, 2022)

    What's Changed

    • iOS write to file critical bug by @MagTuxGit in https://github.com/fluttercandies/flutter_image_editor/pull/61
    • fix: memory leak rotating cropping, closes #85 by @paricleu in https://github.com/fluttercandies/flutter_image_editor/pull/88
      • Fixes scaling on android and added aspect ratio by @ruerob in https://github.com/fluttercandies/flutter_image_editor/pull/70
    • 🔥 Clean by @AlexV525 in https://github.com/fluttercandies/flutter_image_editor/pull/90
    • Support macOS by @CaiJingLong in https://github.com/fluttercandies/flutter_image_editor/pull/92
    • Fix: mix image bug on macOS by @CaiJingLong in https://github.com/fluttercandies/flutter_image_editor/pull/93
    • Feat: modify the attributes of scale by @CaiJingLong in https://github.com/fluttercandies/flutter_image_editor/pull/94
    • doc: Add api document for dart classes by @CaiJingLong in https://github.com/fluttercandies/flutter_image_editor/pull/95

    New Contributors

    • @MagTuxGit made their first contribution in https://github.com/fluttercandies/flutter_image_editor/pull/61
    • @paricleu made their first contribution in https://github.com/fluttercandies/flutter_image_editor/pull/88
    • @ruerob made their first contribution in https://github.com/fluttercandies/flutter_image_editor/pull/70

    Full Changelog: https://github.com/fluttercandies/flutter_image_editor/compare/1.0.2...1.1.0

    Source code(tar.gz)
    Source code(zip)
  • 1.0.2(Nov 2, 2021)

    What's Changed

    • Fix wrong PUB link in README by @reynirf in https://github.com/fluttercandies/flutter_image_editor/pull/78
    • Remove unnecessary memory consuming temp bitmap by @kreativityapps in https://github.com/fluttercandies/flutter_image_editor/pull/81

    New Contributors

    • @reynirf made their first contribution in https://github.com/fluttercandies/flutter_image_editor/pull/78
    • @kreativityapps made their first contribution in https://github.com/fluttercandies/flutter_image_editor/pull/81

    Full Changelog: https://github.com/fluttercandies/flutter_image_editor/compare/1.0.1...1.0.2

    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Sep 14, 2021)

  • 1.0.0-nullsafety.0(Mar 2, 2021)

  • 0.4.0+2(May 24, 2020)

  • 0.4.0+1(May 24, 2020)

Owner
FlutterCandies
Custom Flutter candies (packages) for you to build your Flutter app easily. Enjoy it!
FlutterCandies
A flutter app for image and text, rotate, resize and flip

image_demo A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

null 0 Jan 4, 2022
Flutter Image add drag sort, Image add drag sort, support click event, delete, add, long press drag sort.

flutter_image_add_drag_sort Flutter Image add drag sort, Image add drag sort, support click event, delete, add, long press drag sort, support video fi

null 5 Jun 23, 2020
Flip widget - A Simple Flip widget For Flutter

flip_widget Flip your widget. Usage FlipWidget( key: _flipKey, child: Co

null 24 Nov 13, 2022
FLUTTER API: Video Editor allows trim, crop, rotate and scale video with a super flexible UI Design

video_editor My other APIs Scroll Navigation Video Viewer Helpers Features Super flexible UI Design. Support actions: Crop Trim Scale Rotate Cover sel

Luis Felipe Murguia Ramos 214 Dec 26, 2022
A flutter plugin to crop image on iOS and Android.

Image Cropping plugin for Flutter A flutter plugin to crop image on iOS and Android. The plugin comes with a Crop widget. The widget renders only imag

Volodymyr Lykhonis 292 Dec 27, 2022
Flutter plugin for selecting images from the Android and iOS image library, taking new pictures with the camera, and edit them before using such as rotation, cropping, adding sticker/text/filters.

advance_image_picker Flutter plugin for selecting multiple images from the Android and iOS image library, taking new pictures with the camera, and edi

Weta Vietnam 91 Dec 19, 2022
A Flutter plugin to rotate, resize, move, delete text, photo or any other widget.

sticker_view A Flutter plugin to rotate, resize, move, delete any text, image or any other widget. Available Features ✅ Rotate ✅ Resize ✅ Move ✅ Layer

Gopal Dhola 14 Nov 26, 2022
A Fluter tabview that text color can change with animation and bg color change with animation

float_tab A Fluter tabview that text color can change with animation and bg color change with animation Getting Started This project is a starting poi

ventureli 1 Dec 8, 2021
Smart Chessboard - For our project we would like to use a mix of AI and embedded systems.

Table of Contents Overview Usage How To Build How To Run Diagrams Dependencies Overview For our project we would like to use a mix of

Shaheriar Malik 3 Mar 24, 2022
In this repo you will see how to pick images from the image library and also, see how to store the selected images on Firebase.

flutterimageapp Flutter Tutorial - Upload Images using Firebase Storage. Flutter Tutorial - Upload Images using Firebase Storage Video series can be w

Whatsupcoders 60 Nov 4, 2022
A Flutter widget to crop images.

image_crop_widget A Flutter widget to crop images. The widget is completely written in Dart and has minimal dependencies. The widget displays the imag

Florian Bauer 11 Nov 29, 2022
Masked text field - A flutter package for masked text field for formet your text and good UI

Masked Text Field Masked Text Field Features A package for masked text field for

Alok Dubey 7 Sep 4, 2022
Text analyzer that extracts tokens from text for use in full-text search queries and indexes.

Tokenize text, compute document readbility and compare terms in Natural Language Processing. THIS PACKAGE IS PRE-RELEASE, and SUBJECT TO DAILY BREAKIN

GM Consult Pty Ltd 5 Dec 12, 2022
Album Image is based in photo_manager package and has the same concept as image_picker but with a more attractive interface to choose an image or video from the device gallery, whether it is Android or iOS

Album Image is based in photo_manager package and has the same concept as image_picker but with a more attractive interface to choose an image or vide

Phuong Vu 2 Oct 13, 2022
null 0 Feb 2, 2022
Color picker for Flutter, based on the Google Docs color picker.

Material ColorPicker Color picker for Flutter, based on the Google Docs color picker. Getting Started You can embed into your material app or use it o

Razvan Lung 103 Oct 30, 2022
A package can help you to change your flutter app's statusbar's color or navigationbar's color programmatically.

flutter_statusbarcolor A package can help you to change your flutter app's statusbar's color or navigationbar's color programmatically. Getting Starte

Zero 201 Nov 10, 2022
Color matching game - A Crossplatform Color Matching Game made with Flutter

color_matching_game A Color Matching Game built with Flutter. It is a simple app made without adding a plug-in. Play by specifying the red, green and

Yusuke Ishimi 6 Nov 21, 2022
A colorful TabBar Flutter library with color animating indicator where each tab has a color. (inspired by SmartNews app)

Flutter Colorful TabBar A colorful TabBar for Flutter where each tab has a color (inspired by SmartNews app). Getting Started Add this to your package

null 8 Jun 17, 2022