An interactive photo canvas app that allows users to capture, edit, and share photos on Instagram Stories.
- Camera Integration: Capture photos directly from the app or select from gallery
- Interactive Canvas: Draw on photos with customizable brush color and size
- Sticker Support: Add SVG stickers with intuitive gesture controls:
- Drag to position
- Pinch to resize
- Rotate gestures to rotate
- Long-press and drag to delete zone to remove
- Caption Input: Add text captions to your photos
- Instagram Sharing: Share edited photos directly to Instagram Stories
- Flutter SDK (latest stable version)
- Android Studio or Xcode
- A physical device for testing camera functionality
- Launch the app
- Capture a photo using the camera or select one from your gallery
- Edit the photo:
- Draw on it using the brush tool
- Add stickers from the sticker picker
- Use intuitive gestures to manipulate stickers:
- Tap to select/deselect
- Drag to position
- Pinch to resize
- Rotate with two fingers
- Long-press and drag to the delete zone to remove
- Add a caption
- Share to Instagram Stories
The app uses the following packages for various functionalities:
camera: For camera integration and photo captureflutter_painter_v2: For drawing on images with advanced featuresflutter_svg: For rendering SVG stickersprovider: For state managementpath_provider: For file system accessurl_launcher: For launching Instagram
The app includes 80 SVG stickers that are stored in the assets/stickers directory. The stickers are named numerically (1.svg, 2.svg, etc.) and can be selected from the sticker picker in the editor screen.
The app implements intuitive gesture controls for sticker manipulation:
- Tap: Select or deselect a sticker
- Drag: Move a sticker around the canvas
- Pinch: Resize a sticker (zoom in/out)
- Rotation: Rotate a sticker with a two-finger rotation gesture
- Long-press and drag: Activate delete mode, allowing you to drag the sticker to a delete zone at the bottom of the screen
This project is licensed under the MIT License.