A Flutter application for applying filters to images and creating collages.
- Grayscale: Convert images to black and white
- Sepia: Apply vintage sepia tone effect
- Blur: Add gaussian blur effect
- Brighten: Increase image brightness
- Darken: Decrease image brightness
- Contrast: Enhance image contrast
- Vintage: Combine sepia, contrast, and brightness effects
- Grid Layout: Arrange images in a grid pattern
- Horizontal Layout: Place images side by side
- Vertical Layout: Stack images vertically
- Mosaic Layout: Create artistic mosaic arrangements
- Flutter SDK (3.0.0 or higher)
- Dart SDK
- Android Studio (for Android development)
-
Clone or create the project:
flutter create photo_editor_app cd photo_editor_app -
Replace the generated files with the provided code files:
pubspec.yamllib/main.dartlib/screens/filter_screen.dartlib/screens/collage_screen.dartandroid/app/src/main/AndroidManifest.xml
-
Install dependencies:
flutter pub get
-
Connect your Android device or start an emulator
-
Run the app:
flutter run -d android
flutter build apk --releaseshutters/
├── lib/
│ ├── main.dart # App entry point and home screen
│ └── screens/
│ ├── filter_screen.dart # Image filtering functionality
│ └── collage_screen.dart # Collage creation functionality
├── android/
│ └── app/src/main/
│ └── AndroidManifest.xml # Android permissions
├── pubspec.yaml # Dependencies
└── README.md # This file
- image_picker: For selecting images from camera/gallery
- image: For image processing and manipulation
- path_provider: For accessing device storage paths
- permission_handler: For managing app permissions
- image_gallery_saver_plus: For saving processed images to gallery
The app requires the following permissions:
CAMERA: To capture photosREAD_EXTERNAL_STORAGE: To read images from storageWRITE_EXTERNAL_STORAGE: To save processed imagesREAD_MEDIA_IMAGES: For Android 13+ media access
-
Launch the app and choose between "Apply Filters" or "Create Collage"
-
For Filters:
- Select image source (Camera or Gallery)
- Choose from available filters
- Save the filtered image
-
For Collages:
- Select multiple images from gallery
- Choose layout style (Grid, Horizontal, Vertical, Mosaic)
- Save the collage
- Images are automatically resized to improve performance
- For large collages, consider using fewer images
- Filter processing may take time on older devices
To add a new filter, modify filter_screen.dart:
- Add filter name to
_filterslist - Add case in
_applyFilterswitch statement - Use
imagepackage functions for processing
To add layouts, modify collage_screen.dart:
- Add layout name to
_layoutslist - Create new layout method (e.g.,
_createCustomLayout) - Add case in
_createCollageswitch statement
- Brightness/contrast sliders
- Crop functionality
- Text overlay on images
- Social sharing
- Custom filter creation
- Batch processing
- Undo/redo functionality
This project is open source and available under the AGPL License.