photofilters

一个适用于 iOS 和 Android 的 Flutter 包,用于给图片应用滤镜。还提供了一组预设滤镜。您也可以创建自己的滤镜。

安装

首先,将 photofiltersimage 添加为 pubspec.yaml 文件中的依赖项

iOS

无需配置 - 该插件应开箱即用。

Android

无需配置 - 该插件应开箱即用。

示例

import 'package:flutter/material.dart';
import 'package:path/path.dart';
import 'package:photofilters/photofilters.dart';
import 'package:image/image.dart' as imageLib;
import 'package:image_picker/image_picker.dart';

void main() => runApp(new MaterialApp(home: MyApp()));

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => new _MyAppState();
}

class _MyAppState extends State<MyApp> {
  imageLib.Image _image;
  String fileName;
  Filter _filter;
  List<Filter> filters = presetFitersList;

  Future getImage() async {
    var imageFile = await ImagePicker.pickImage(source: ImageSource.gallery);
    fileName = basename(imageFile.path);
    var image = imageLib.decodeImage(imageFile.readAsBytesSync());
    image = imageLib.copyResize(image, 600);
    setState(() {
      _image = image;
    });
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Photo Filter Example'),
      ),
      body: new Container(
        alignment: Alignment(0.0, 0.0),
        child: _image == null
            ? new Text('No image selected.')
            : new PhotoFilterSelector(
                image: _image,
                filters: presetFitersList,
                filename: fileName,
                loader: Center(child: CircularProgressIndicator()),
              ),
      ),
      floatingActionButton: new FloatingActionButton(
        onPressed: getImage,
        tooltip: 'Pick Image',
        child: new Icon(Icons.add_a_photo),
      ),
    );
  }
}

UI 屏幕截图

滤镜样本图片

无滤镜 无滤镜 AddictiveBlue AddictiveBlue AddictiveRed AddictiveRed
Amaro Amaro Ashby Ashby Brannan Brannan
Charmes Charmes Clarendon Clarendon Crema Crema
Earlybird Earlybird 1977 1977 Gingham Gingham
Hefe Hefe Helena Helena Hudson Hudson
Juno Juno Kelvin Kelvin Lark Lark
Ludwig Ludwig Maven Maven Mayfair Mayfair
Nashville Nashville Perpetua Perpetua Reyes Reyes
Sierra Sierra Skyline Skyline Slumber Slumber
Sutro Sutro Toaster Toaster Valencia Valencia
Walden Walden Willow Willow X-Pro II X-Pro II

GitHub

https://github.com/skkallayath/photofilters