v1.2.0story_maker
一个用于创建类似 Instagram 故事的包,您可以使用此包编辑图片,并通过添加文字、贴纸和滤镜等内容使其适合故事使用。
一个用于创建类似 Instagram 故事的包。您可以使用此包编辑图片,并通过添加文本和渐变等其他内容,使其适合制作故事。
{"sdk":"flutter"}^2.1.5^6.3.2^0.15.0{"sdk":"flutter"}以下为英文项目原文快照,最新内容请访问 GitHub。
A package for creating instagram like story, you can use this package to edit images and make it story ready by adding other contents over it like text, stickers, gradients, and color filters.
GIF 1 GIF 2
Add this to your package's pubspec.yaml file:
dependencies:
story_maker: ^1.2.0
import 'package:story_maker/story_maker.dart';
class _MyAppState extends State<MyApp> {
File? image;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Story Designer Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () async {
await [
Permission.photos,
Permission.storage,
].request();
final picker = ImagePicker();
await picker
.pickImage(source: ImageSource.gallery)
.then((file) async {
final File editedFile = await Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => StoryMaker(
filePath: file!.path,
),
),
);
setState(() {
image = editedFile;
});
print('editedFile: ${image!.path}');
});
},
child: const Text('Pick Image'),
),
if (image != null)
Expanded(
child: Image.file(image!),
),
],
),
),
);
}
}
import 'package:story_maker/story_maker.dart';
// Example with custom theme, stickers, and done button
StoryMaker(
filePath: imagePath,
theme: StoryMakerTheme.dark(), // or StoryMakerTheme.light()
customStickers: [
StickerItem.emoji('🎉'),
StickerItem.emoji('🔥'),
StickerItem.image('/path/to/sticker.png'),
],
customFontList: ['Roboto', 'Open Sans', 'Lato'],
customTextColors: [
Colors.red,
Colors.blue,
Colors.green,
],
customGradients: [
[Colors.purple, Colors.pink],
[Colors.blue, Colors.cyan],
],
doneButtonBuilder: (theme, onDone, isLoading) {
return ElevatedButton(
onPressed: isLoading ? null : onDone,
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all(theme.buttonColor),
),
child: isLoading
? CircularProgressIndicator()
: Text('Save Story', style: TextStyle(color: theme.buttonTextColor)),
);
},
)
[x] Image Editing:
[x] Text Editing:
google_fonts package)[x] Background Gradients:
customGradients parameter[x] Stickers Support:
StickerItem.image()customStickers parameter[x] Color Filters:
[x] Theme Customization:
StoryMakerTheme[x] Customization Options:
customFontList parametercustomTextColors parametercustomGradients parameteranimationsDuration parameter[x] User Experience:
[x] Developer Experience: