croppy 1.1.4 copy "croppy: ^1.1.4" to clipboard
croppy: ^1.1.4 copied to clipboard

A fully customizable image cropper for Flutter. Mobile-first, but supports Web and Desktop platforms.

Cover image

croppy #

Pub Version

A fully customizable image cropper for Flutter, with built-in Material and Cupertino croppers.

Check out the example at https://kekland.github.io/croppy.

Supported platforms:

  • Android
  • iOS
  • Windows
  • Linux (untested, but should work)
  • macOS
  • Web (uses Dart's Cassowary instead of FFI because there's no FFI support in web)

Features #

  • Material image cropper (similar to Google Photos)
  • iOS Photos app-like image cropper
  • Support for any linear transformations on the image: scaling, rotating, skewing, flipping, etc
  • Completely customizable (will create documentation with later releases)
  • Fixed aspect ratios
  • Custom cropping shapes
  • Kickass animations
  • Localization

In progress:

  • Image editing module (?) (brightness, contrast, etc)

Getting started #

Install croppy from pub:

dependencies:
  croppy: <latest_version>

Enjoy using it :)

Usage #

Currently croppy supports a Material (Google Photos-like) and a Cupertino (iOS Photos-like) image croppers:

final result = await showMaterialImageCropper(
  context,
  imageProvider: const NetworkImage('MY_IMAGE_URL'), // Or any other image provider
);

final result = await showCupertinoImageCropper(
  context,
  imageProvider: const NetworkImage('MY_IMAGE_URL'), // Or any other image provider
);

Voilà! You can now start cropping images.

For a complete runnable example, see ./example. For the full in-depth documentation, including customization, see the documentation.

Localization #

croppy currently supports the following languages:

  • English
  • Kazakh
  • Russian
  • Arabic (thanks @Milad-Akarie)
  • Vietnamese (thanks @ptanhVNU)
  • Portuguese (thanks @JCKodel)

If there's a language that you would like to add, please see the localization guide.

It's recommended to insert the CroppyLocalizationDelegate in your MaterialApp or CupertinoApp:

MaterialApp(
  localizationsDelegates: [
    CroppyLocalizationDelegate(), // <- This here
    GlobalMaterialLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
    GlobalCupertinoLocalizations.delegate,
  ],
  ...
)

Additional information #

Feel free to report bugs/issues on GitHub.

If you have questions, you can contact me directly at kk.erzhan@gmail.com.

Credits:

82
likes
130
pub points
89%
popularity

Publisher

verified publisherkekland.com

A fully customizable image cropper for Flutter. Mobile-first, but supports Web and Desktop platforms.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

cassowary, cupertino_icons, equatable, ffi, flutter, plugin_platform_interface, vector_math

More

Packages that depend on croppy