image_filter_pro 0.1.2 copy "image_filter_pro: ^0.1.2" to clipboard
image_filter_pro: ^0.1.2 copied to clipboard

outdated

A Flutter package for applying color filters to images with presets and manual sliders

Image Filter Pro #

Hi! This is my first package published to help you out! Image Filter Pro is a Flutter package that provides a convenient way to apply color filters to images with preset filter options. The package is written purely in Dart, so no additional setup for specific platforms is required.

Features #

  • Apply various preset color filters to images.
  • Easily integrate customizable filter UI into your Flutter app.
  • Inspired by popular filter presets found in other image editing apps.

Installation #

Add the following dependency to your pubspec.yaml file:

dependencies: image_filter_pro: ^0.1.0

Usage #

Import the package:

import 'package:flutter/material.dart';
import 'package:image_filter_pro/image_filter_pro.dart';

Use the ImageFilterWidget in your widget tree:

class FilteredImageWidget extends StatefulWidget {  
  @override  
  _FilteredImageWidgetState createState() => _FilteredImageWidgetState();  
}  
  
class _FilteredImageWidgetState extends State<FilteredImageWidget> {  
  File? image;  
  
  void _showImagePicker() async {  
    // Implement your image picker logic here  
    // Set the selected image as the imageFile 
    // For example: 
    // var pickedImage = await ImagePicker.pickImage(source: ImageSource.gallery); 
    // setState(() { 
    //   imageFile = pickedImage; 
    // });  
  var updatedImage = await Navigator.of(context).push(  
      MaterialPageRoute(  
        builder: (context) => PhotoFilter(  
          image: imageFile,  
          presets: NamedColorFilter.defaultFilters(),  
          cancelIcon: Icons.cancel,  
          applyIcon: Icons.check,  
          backgroundColor: Colors.black,  
          sliderColor: Colors.blue,  
          sliderLabelStyle: TextStyle(color: Colors.white),  
          bottomButtonsTextStyle: TextStyle(color: Colors.white),  
          presetsLabelTextStyle: TextStyle(color: Colors.white),  
          applyingTextStyle: TextStyle(color: Colors.white),  
        ),  
      ),  
    );  
  
    if (updatedImage != null) {  
      setState(() {  
        this.image = updatedImage;  
      });  
    }  
  }  
  
  @override  
  Widget build(BuildContext context) {  
    return Scaffold(  
      appBar: AppBar(  
        title: Text('Image Filter App'),  
      ),  
      body: Center(  
        child: Column(  
          mainAxisAlignment: MainAxisAlignment.center,  
          children: [  
            ElevatedButton(  
              onPressed: _showImagePicker,  
              child: Text('Pick and Filter Image'),  
            ),  
            if (image != null)  
              Image.file(image!),  
          ],  
        ),  
      ),  
    );  
  }  
}

You can also provide your own set of presets like this:

ImageFilterWidget(
              filters: [
		                  // Always add the "default" one
						  NamedColorFilter(  
						    colorFilterMatrix: [],  
						    name: "None",  
						  ),  
						  NamedColorFilter(  
						    colorFilterMatrix: [  
						      0.8, 0.1, 0.1, 0, 20,  
						      0.1, 0.8, 0.1, 0, 20,  
						      0.1, 0.1, 0.8, 0, 20,  
						      0, 0, 0, 1, 0,  
						    ],  
						    name: "Vintage",  
						  ),  
						  NamedColorFilter(  
						    colorFilterMatrix: [  
						      1.2, 0.1, 0.1, 0, 10,  
						      0.1, 1, 0.1, 0, 10,  
						      0.1, 0.1, 1, 0, 10,  
						      0, 0, 0, 1, 0,  
						    ],  
						    name: 'Mood',  
						  ),  
					]
        )

Or if you want to extend:

ImageFilterWidget(
              filters:  NamedColorFilter.defaultFilters().toList().addAll([ 
						  NamedColorFilter(  
						    colorFilterMatrix: [  
						      0.8, 0.1, 0.1, 0, 20,  
						      0.1, 0.8, 0.1, 0, 20,  
						      0.1, 0.1, 0.8, 0, 20,  
						      0, 0, 0, 1, 0,  
						    ],  
						    name: "Vintage",  
						  ),  
						  NamedColorFilter(  
						    colorFilterMatrix: [  
						      1.2, 0.1, 0.1, 0, 10,  
						      0.1, 1, 0.1, 0, 10,  
						      0.1, 0.1, 1, 0, 10,  
						      0, 0, 0, 1, 0,  
						    ],  
						    name: 'Mood',  
						  ),  
					]
        )

Screenshots #

enter image description here

License #

This package is distributed under the MIT License.

23
likes
0
points
352
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for applying color filters to images with presets and manual sliders

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, image, path_provider

More

Packages that depend on image_filter_pro