photofilters
一个适用于 iOS 和 Android 的 Flutter 包,用于给图片应用滤镜。还提供了一组预设滤镜。您也可以创建自己的滤镜。
安装
首先,将 photofilters 和 image 添加为 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 |
AddictiveRed |
Amaro |
Ashby |
Brannan |
Charmes |
Clarendon |
Crema |
Earlybird |
1977 |
Gingham |
Hefe |
Helena |
Hudson |
Juno |
Kelvin |
Lark |
Ludwig |
Maven |
Mayfair |
Nashville |
Perpetua |
Reyes |
Sierra |
Skyline |
Slumber |
Sutro |
Toaster |
Valencia |
Walden |
Willow |
X-Pro II |
无滤镜
AddictiveBlue
AddictiveRed
Amaro
Ashby
Brannan
Charmes
Clarendon
Crema
Earlybird
1977
Gingham
Hefe
Helena
Hudson
Juno
Kelvin
Lark
Ludwig
Maven
Mayfair
Nashville
Perpetua
Reyes
Sierra
Skyline
Slumber
Sutro
Toaster
Valencia
Walden
Willow
X-Pro II