InAppCropper
InAppCropper is a Flutter widget that allows you to crop and extract regions of an image interactively. It supports both local image files and network images, offering a range of customization options for a seamless user experience.
Features
- Crop local or network images interactively
- Customize drag item size, border decoration, and rotation
- Extract and process cropped images easily
- Adjustable crop parameters and controls
Installation
Add in_app_cropper
to your pubspec.yaml
:
dependencies:
in_app_cropper: ^1.0.0
Then, run flutter pub get to install the package.
Usage
Here’s a basic example of how to use InAppCropper:
import 'package:flutter/material.dart';
import 'dart:io';
import 'package:in_app_cropper/in_app_cropper.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('InAppCropper Example')),
body: CropperDemo(),
),
);
}
}
class CropperDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: InAppCropper(
imageFile: File('path_to_image.jpg'),
imageWidth: 300,
imageHeight: 400,
onExtractedImage: (croppedImageFile) {
// Handle the extracted image file
},
canCropImage: true,
),
);
}
}
Parameters
networkImage: URL of the network image to be displayed.
imageFile: Local image file to be displayed.
canCropImage: Enables or disables cropping functionality.
dragItemSize: Initial size of the drag item for cropping.
step: Step value for increasing or decreasing the drag item size.
cropBorderDecoration: Decoration for the border around the draggable crop item.
increaseWidget: Widget for increasing the drag item size.
decreaseWidget: Widget for decreasing the drag item size.
imageWidth: Width of the image container.
imageHeight: Height of the image container.
placeHolderImage: Placeholder image while loading or when no image is available.
rotationDuration: Duration for rotation animations in milliseconds.
title: Widget to display as a title above the crop controls.
sliderActiveColor: Color of the active slider track.
sliderInactiveColor: Color of the inactive slider track.
sliderThumbColor: Color of the slider thumb.
canRotate: Enables or disables image rotation.
onExtractedImage: Callback function triggered when an image region is extracted.
imageDecoration: Decoration for the image container.
extractWidget: Widget for the button to extract the image after cropping.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For any questions or suggestions, please reach out at [hassinewassef@gmail.com].
Enjoy using InAppCropper! If you find it useful, please star the repository on GitHub.