media_picker_plus 1.1.0-rc.6
media_picker_plus: ^1.1.0-rc.6 copied to clipboard
A Flutter plugin to pick or capture images and videos with quality control options
Media Picker Plus #
A comprehensive Flutter plugin for media selection with advanced processing capabilities. Pick images, videos, and files from gallery or camera with built-in watermarking, resizing, and quality control features.
📚 Documentation #
For complete documentation, guides, and API reference, visit:
👉 https://thanhtunguet.github.io/media_picker_plus
🚀 Features #
- Media Selection: Pick images and videos from gallery or capture using camera
- File Picking: Select files with extension filtering
- Multiple Selection: Pick multiple images, videos, or files at once
- Advanced Processing:
- Image resizing with aspect ratio preservation
- Media cropping with aspect ratio control and freeform options
- Interactive cropping UI for manual crop selection
- Quality control for images and videos
- Watermarking with customizable position and font size
- Permission Management: Smart permission handling for camera and gallery access
- Cross-Platform: Full support for Android, iOS, macOS, and Web
- FFmpeg Integration: Advanced video processing capabilities
✅ Platform Support #
| Feature | Android | iOS | Web | macOS |
|---|---|---|---|---|
| Pick image | ✅ | ✅ | ✅ | ✅ |
| Capture image | ✅ | ✅ | ✅ | ✅ |
| Crop image | ✅ | ✅ | ✅ | ✅ |
| Resize image | ✅ | ✅ | ✅ | ✅ |
| Watermark image | ✅ | ✅ | ✅ | ✅ |
| Pick video | ✅ | ✅ | ✅ | ✅ |
| Capture video | ✅ | ✅ | ✅ | ✅ |
| Watermark video | ✅ | ✅ | ⚠️* | ✅ |
| Video thumbnail | ✅ | ✅ | ✅ | ✅ |
| Video compression | ✅ | ✅ | ❌** | ✅ |
* Video watermarking on web requires optional FFmpeg.js setup
** Video compression not yet implemented for web platform
📋 Requirements #
- Flutter SDK:
>= 2.5.0 - Dart SDK:
>= 2.17.0 < 4.0.0 - Android: API 21+ (Android 5.0+)
- iOS: iOS 11.0+
- macOS: macOS 11.0+
- Web: Modern browsers with HTML5 support
🔧 Installation #
Add this to your pubspec.yaml:
dependencies:
media_picker_plus: ^1.1.0-rc.4
Or install via command line:
flutter pub add media_picker_plus
⚡ Quick Start #
import 'package:media_picker_plus/media_picker_plus.dart';
// Pick an image from gallery
final result = await MediaPickerPlus.pickImage(
source: MediaSource.gallery,
);
if (result != null) {
print('Image path: ${result.path}');
}
For detailed usage examples, platform-specific setup, and API documentation, visit the official documentation site.
📖 Usage Examples #
Pick Image #
String? imagePath = await MediaPickerPlus.pickImage(
source: MediaSource.gallery,
);
Capture Photo #
String? imagePath = await MediaPickerPlus.pickImage(
source: MediaSource.camera,
);
Pick Video #
String? videoPath = await MediaPickerPlus.pickVideo(
source: MediaSource.gallery,
);
Advanced Features #
For examples of cropping, watermarking, video compression, and more advanced features, see the documentation.
🔐 Privacy and Security #
- All media processing happens locally on the device
- No data is transmitted to external servers
- Temporary files are automatically cleaned up
- Requests minimal necessary permissions
📄 License #
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Contributing #
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
🌟 Support #
If you find this plugin helpful, please consider:
- ⭐ Starring the repository
- 🐛 Reporting bugs
- 💡 Suggesting new features
- 📝 Contributing to documentation
For support, please open an issue on GitHub.
Made with ❤️ by thanhtunguet