hsbijarniya / image_editor_plus Goto Github PK
View Code? Open in Web Editor NEWFlutter Image Editor Plugin with simple, easy support for image editing using Paints, Text, Filters, Emoji and Sticker like stories.
License: MIT License
Flutter Image Editor Plugin with simple, easy support for image editing using Paints, Text, Filters, Emoji and Sticker like stories.
License: MIT License
Right after confirming the drawing made on the screen, it does not appear immediately, only when performing another action, such as flipping, the state is updated and the brunch starts to appear on the screen, does anyone know how to solve this?
The package is so slow when it comes to adding filters or cropping the image.
When you click on crop or filters it takes 3 seconds minimum to push the page
when we upload image from download folder mostly image got stuck while image moving.
Please have a look into this issue.
Or any other option to disable image moving?
flutter doctor -v
[✓] Flutter (Channel stable, 3.7.5, on macOS 12.6.1 21G217 darwin-x64, locale
en-GB)
• Flutter version 3.7.5 on channel stable at /Volumes/DataDrive/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision c07f788888 (3 months ago), 2023-02-22 17:52:33 -0600
• Engine revision 0f359063c4
• Dart version 2.19.2
• DevTools version 2.20.1
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
• Android SDK at /Users/mohdkaif/Library/Android/sdk
• Platform android-33, build-tools 33.0.1
• Java binary at: /Library/Internet
Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
• Java version Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
✗ Android license status unknown.
Run flutter doctor --android-licenses
to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for
more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14C18
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[!] Android Studio (version 2022.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
✗ Unable to find bundled Java version.
• Try updating or re-installing Android Studio.
[!] Android Studio
• Android Studio at /Applications/Android/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
✗ Android Studio not found at /Applications/Android/Contents
• Try updating or re-installing Android Studio.
[✓] Connected device (2 available)
• macOS (desktop) • macos • darwin-x64 • macOS 12.6.1 21G217 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 113.0.5672.126
[✓] HTTP Host Availability
• All required HTTP hosts are available
In Multiple Image editing they give the issue when i select the image.
Working Correctly for One Image
final files = await _fileChooserService.chooseMultipleFiles(
source: fileSource,
);
if (fileSource.isImage) {
List<Uint8List> imageBytesList = [];
for (var file in files) {
List<int> bytes = await file.readAsBytes();
imageBytesList.add(Uint8List.fromList(bytes));
}
var editedImages = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ImageEditor(
images: imageBytesList,
allowMultiple: false,
),
),
);
if (editedImages != null && editedImages is List<Uint8List>) {
filesCustomData!.addAll(editedImages.map((image) => CustomFileData(file:File.fromRawPath(image) )).toList());
}
}
Hi friends,
How can I solve this issue:
Because every version of image_editor_plus depends on font_awesome_flutter ^9.0.0 and myProject depends on font_awesome_flutter ^10.1.0, image_editor_plus is forbidden.
Thanks in advance!
Hello, awesome plugin...
Please, is that a way to add custom image filter to the filter list ?
Thanks in advance
Version 8.0.2 of extended_image fails in version 3.13.0 of flutter.
Please update the version of the extended_image library to 8.1.0.
edited overlay is not there on that point where I added overlay.
Yes Fixed. Thanks.
but the image becomes too small after editing the overlay drawing, and when pressed done after editing, then the image shows us is increased by height.
so there are too problems now.
1- After editing overlay drawing and back to Editing options screen, then image size become small.
2- And when we done with editing and come on main screen then Image Height is increased not actual height is there of image.
Is there a way of removing properties from the main screen?
you can fix this by commenting out height and width on sizebox in the package....the publisher can find the issue on line 506. once fixed all images will adjust to the sizedbox even when small.
hi ,
I'm using image_editor_plus: ^0.2.0 , when try to use filter and drag Opacity high and low then ios crashed and got this log
from xcode :
`Details
System Information
macOS Version 13.4 (Build 22F66)
Xcode 14.3 (21812) (Build 14E222b)
Timestamp: 2023-06-06T22:37:31+03:00`
Can you add localization feature to the package?
That would be a nice feature if we can localize ImageEditorPlus with a Map variable.
/C:/Users/users/AppData/Local/Pub/Cache/hosted/pub.dev/extended_image-8.0.2/lib/src/extended_image.dart:976:36: Error: The argument type 'BorderRadius?' can't be assigned to the parameter type 'BorderRadiusGeometry' because 'BorderRadius?' is nullable and 'BorderRadiusGeometry' isn't.
Hello
Looks like it is configuration issue
https://pub.dev/packages/image_editor_plus/changelog
Thanks in advance
Phone: Samsung A24
Steps to replicate:
Bug: When black brush is selected, a white border appears on either side of the photo
Phone: Samsung A24
Steps to replicate:
Bug: Two dark blue brushes are displayed and selected twice
And all other libs as well.
Thx in advance
after click on remove button emoji is not removing.. using latest version of image_editor_plus.
flutter doctor -v
[✓] Flutter (Channel stable, 3.10.1, on macOS 12.6.1 21G217 darwin-x64, locale
en-GB)
• Flutter version 3.10.1 on channel stable at /Volumes/DataDrive/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision d3d8effc68 (3 weeks ago), 2023-05-16 17:59:05 -0700
• Engine revision b4fb11214d
• Dart version 3.0.1
• DevTools version 2.23.1
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
• Android SDK at /Users/mohdkaif/Library/Android/sdk
• Platform android-33, build-tools 33.0.1
• Java binary at: /Applications/Android
Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build
11.0.15+0-b2043.56-8887301)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14C18
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build
11.0.15+0-b2043.56-8887301)
[✓] Connected device (4 available)
• RMX3521 (mobile) • 9353c578
• android-arm64 • Android 13 (API 33)
• iPad Air (5th generation) (mobile) • 3A234FD2-87AD-4509-8B3E-821DE3D69777
• ios • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
• macOS (desktop) • macos
• darwin-x64 • macOS 12.6.1 21G217 darwin-x64
• Chrome (web) • chrome
• web-javascript • Google Chrome 114.0.5735.90
[✓] Network resources
• All expected network resources are available.
• No issues found!
I really love the plugin and it would be great if the ratio section could be customizable. We need 1:1 and 2:3 ratios in one of the project where in one place 1:1 ratio must be forced and in different place the 2:3 is a must.
So it would be a great feature if we can access and change the list of ratios according to our needs
Thank you in advance!
Hello. Is there a way for the image to stay on the screen when drawing on it?
cropping might return an exception.
When I set the appBarColor to 'const Color(0xffffecb3)' and this is what I expect(pic0).
pic0: https://ibb.co/qrjbMdW
(BTW: There is an overflow occurs on the check button.)
But in some pages, the colour of the top bar still remains black while some buttons are black too(pic1, pic2, pic3), so I can't figure out buttons from it.
pic1: https://ibb.co/NZb2wBx
pic2: https://ibb.co/FBFGTQZ
pic3: https://ibb.co/6XgVvQw
My code:
ImageEditor(appBarColor: const Color(0xffffecb3), image: mergedImage)
Thanks for your excellent work of this useful library. It really helps me a lot!
When the user clicks on any bottom bar action button there is a few seconds delay before the route opens that particular widget.
The issue appears in android version 12.
I only want to use the 4:3 ratio, but users can use the 4:3 ratio and 3:4 ratio, so it's uncomfortable.
I want you to use only the ratio I set.
Xcode build done. 108.5s
Installing and launching...
(lldb) dyld[7502]: Symbol not found: _OBJC_CLASS_$_Reachability
Referenced from: /private/var/containers/Bundle/Application/712DD2C5-3A2E-4FE1-9EA6-11052C59C96F/Runner.app/Frameworks/connectivity.framework/connectivity
Expected in: /private/var/containers/Bundle/Application/712DD2C5-3A2E-4FE1-9EA6-11052C59C96F/Runner.app/Frameworks/Reachability.framework/Reachability
* thread #1, stop reason = signal SIGABRT
frame #0: 0x0000000103938578 dyld`__abort_with_payload + 8
dyld`__abort_with_payload:
-> 0x103938578 <+8>: b.lo 0x103938598 ; <+40>
0x10393857c <+12>: pacibsp
0x103938580 <+16>: stp x29, x30, [sp, #-0x10]!
0x103938584 <+20>: mov x29, sp
Target 0: (Runner) stopped.
error
E/MediaCodecVideoRenderer(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1099)
E/MediaCodecVideoRenderer(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1010)
E/MediaCodecVideoRenderer(16087): ... 11 more
I/CCodec (16087): [c2.qti.hevc.decoder] state->set(RELEASED)
I/hw-BpHwBinder(16087): onLastStrongRef automatically unlinking death recipients
I/MediaCodec(16087): Codec shutdown complete
E/ExoPlayerImplInternal(16087): Playback error
E/ExoPlayerImplInternal(16087): com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(2, null, null, video/hevc, hvc1.1.6.L150.B0, -1, null, [2160, 3840, 29.907576], [-1, -1]), format_supported=YES
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:578)
E/ExoPlayerImplInternal(16087): at android.os.Handler.dispatchMessage(Handler.java:102)
E/ExoPlayerImplInternal(16087): at android.os.Looper.loopOnce(Looper.java:226)
E/ExoPlayerImplInternal(16087): at android.os.Looper.loop(Looper.java:313)
E/ExoPlayerImplInternal(16087): at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(16087): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: c2.qti.hevc.decoder, Format(2, null, null, video/hevc, hvc1.1.6.L150.B0, -1, null, [2160, 3840, 29.907576], [-1, -1])
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1021)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:537)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1453)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:917)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:954)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:769)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1007)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:502)
E/ExoPlayerImplInternal(16087): ... 4 more
E/ExoPlayerImplInternal(16087): Caused by: android.media.MediaCodec$CodecException: start failed
E/ExoPlayerImplInternal(16087): at android.media.MediaCodec.native_start(Native Method)
E/ExoPlayerImplInternal(16087): at android.media.MediaCodec.start(MediaCodec.java:2322)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:160)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:50)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:103)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:111)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1099)
E/ExoPlayerImplInternal(16087): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1010)
E/ExoPlayerImplInternal(16087): ... 11 more
2
D/MediaCodec(16087): flushMediametrics
V/FA (16087): Inactivity, disconnecting from the service
Error logs
../../../../../Library/flutter/.pub-cache/hosted/pub.dartlang.org/image_editor_plus-0.1.2/lib/image_editor_plus.dart:1278:38:
Error: The method 'build' isn't defined for the class 'ColorFilterGenerator'.
- 'ColorFilterGenerator' is from 'package:colorfilter_generator/colorfilter_generator.dart'
- ('../../../../../Library/flutter/.pub-cache/hosted/pub.dartlang.org/colorfilter_generator-0.0.7/lib/colorfilter_generator.dart').
If you use the brush tool and draw a circle in the center of the image, the brush annotation will be transposed to the right when you confirm the action using the check button.
The same is also true if you crop the image first and then use the brush tool. The size of the brush annotation is too large relative to the image.
Error: Type 'ImagePickerOptions' not found.
../…/lib/image_picker_android.dart:174
ImagePickerOptions options = const ImagePickerOptions(),
^^^^^^^^^^^^^^^^^^
Error: Couldn't find constructor 'ImagePickerOptions'.
../…/lib/image_picker_android.dart:174
ImagePickerOptions options = const ImagePickerOptions(),
^^^^^^^^^^^^^^^^^^
Error: 'ImagePickerOptions' isn't a type.
../…/lib/image_picker_android.dart:174
ImagePickerOptions options = const ImagePickerOptions(),
^^^^^^^^^^^^^^^^^^
Hello,
I was wondering if it's possible to add fixed size functionality to image crop?
Right now I can set fixed aspect ratio, but I can resize it.
I wonder if it would be possible to lock crop area from resizing?
Currently there are transparent spaces on the top and bottom of the pictures if their height is smaller than the screen height. I think the problem is that it is taking a screenshot of the whole screen.
After click on Freeform click on landscape button makes error "Null check operator used on a null value" happens
(from aspectRatioOriginal! image_editor_plus/image_editor_plus.dart:1180:60)
hey,
after installing the package i got those errors :
../../.pub-cache/hosted/pub.dev/extended_image-6.4.1/lib/src/gesture/page_view/widgets/scroll_position.dart:213:15: Error: The method 'ExtendedPagePosition.copyWith' doesn't have the named parameter 'devicePixelRatio' of overridden method 'ViewportOffset with ScrollMetrics.copyWith'.
PageMetrics copyWith({
^
../../Developer/flutter/packages/flutter/lib/src/widgets/scroll_metrics.dart:43:17: Context: This is the overridden method ('copyWith').
ScrollMetrics copyWith({
^
../../.pub-cache/hosted/pub.dev/extended_image-6.4.1/lib/src/gesture/page_view/widgets/scroll_position.dart:213:15: Error: The method 'ExtendedPagePosition.copyWith' has fewer named arguments than those of overridden method 'PageMetrics.copyWith'.
PageMetrics copyWith({
^
../../Developer/flutter/packages/flutter/lib/src/widgets/page_view.dart:277:15: Context: This is the overridden method ('copyWith').
PageMetrics copyWith({
^
../../.pub-cache/hosted/pub.dev/extended_image-6.4.1/lib/src/gesture/page_view/widgets/scroll_position.dart:213:15: Error: The method 'ExtendedPagePosition.copyWith' doesn't have the named parameter 'devicePixelRatio' of overridden method 'PageMetrics.copyWith'.
PageMetrics copyWith({
^
../../Developer/flutter/packages/flutter/lib/src/widgets/page_view.dart:277:15: Context: This is the overridden method ('copyWith').
PageMetrics copyWith({
^
../../.pub-cache/hosted/pub.dev/screenshot-1.3.0/lib/screenshot.dart:160:7: Error: No named parameter with the name 'window'.
window: ui.window,
^^^^^^
../../Developer/flutter/packages/flutter/lib/src/rendering/view.dart:68:3: Context: Found this candidate, but the arguments don't match.
RenderView({
^^^^^^^^^^
../../.pub-cache/hosted/pub.dev/extended_image-6.4.1/lib/src/gesture/page_view/gesture_page_view.dart:21:49: Error: Required named parameter 'devicePixelRatio' must be provided.
final PageMetrics _testPageMetrics = PageMetrics(
^
../../Developer/flutter/packages/flutter/lib/src/widgets/page_view.dart:266:3: Context: Found this candidate, but the arguments don't match.
PageMetrics({
^^^^^^^^^^^
../../.pub-cache/hosted/pub.dev/hand_signature-2.3.0+1/lib/src/signature_view.dart:245:11: Error: No named parameter with the name 'kind'.
kind: kind,
^^^^
../../.pub-cache/hosted/pub.dev/extended_image-6.4.1/lib/src/gesture_detector/drag.dart:145:3: Error: The superclass, 'OneSequenceGestureRecognizer with DragGestureRecognizerMixin', has no unnamed constructor that takes no arguments.
ExtendedDragGestureRecognizer({
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.pub-cache/hosted/pub.dev/extended_image-6.4.1/lib/src/gesture/page_view/widgets/scroll_position.dart:221:23: Error: Required named parameter 'devicePixelRatio' must be provided.
return PageMetrics(
^
../../Developer/flutter/packages/flutter/lib/src/widgets/page_view.dart:266:3: Context: Found this candidate, but the arguments don't match.
PageMetrics({
^^^^^^^^^^^
Hi @hsbijarniya ,
Please update the dependency of permission_handler to 10.0.0 (latest version) I get this build error:
Because image_editor_plus 0.1.4 depends on permission_handler ^9.2.0 and no versions of image_editor_plus match >0.1.4 <0.2.0, image_editor_plus ^0.1.4 requires permission_handler ^9.2.0. So, because myapp depends on both image_editor_plus ^0.1.4 and permission_handler ^10.0.0, version solving failed.
Thanks in advance!
Hi Great plugin.
The editor is adding transparent sides on the edited image.
How to avoid that? What could be the issue?
Anyway to zoom the image and save? It's re-centering every time it save.
thanks
There are two issue i am having
1- We can draw brush out side the image
2- if user zoom out the image then image is very small then user can not zoom in the image
3- if we draw on image then click on done button then drawing is not placed at accurate place
i am attaching the video recording for above issue for better understanding.
I am using latest library version that is image_editor_plus: 0.2.4.
screen recording link
https://drive.google.com/file/d/1VddM7-xAHeHHCaA09vCeCHjMB_-sUdlp/view?usp=sharing
Please fix these issue
Thanks for advance
Hi friends I updated the image_editor_plus from 0.1.3 to 0.1.4 and now my build failing with this error:
`../../../Documents/flutter/.pub-cache/hosted/pub.dartlang.org/image_editor_plus-0.1.4/lib/image_editor_plus.dart:1519:18: Error: The method 'HandSignature' isn't defined for the class '_ImageEditorDrawingState'.
How can I solve this thanks in advance!
Phone: Samsung A24
Steps to replicate:
Bug: Annotation is not saved on rotated image (or it's just very out of view)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.