v1.2.0story_maker
Um pacote para criar histórias semelhantes ao Instagram, você pode usar este pacote para editar imagens e torná-las adequadas para histórias adicionando outros conteúdos sobre elas, como texto, adesivos e filtros.
Um pacote para criar histórias semelhantes ao Instagram. Você pode usar este pacote para editar imagens e torná-las adequadas para histórias, adicionando outros conteúdos sobre elas, como texto e gradientes.
{"sdk":"flutter"}^2.1.5^6.3.2^0.15.0{"sdk":"flutter"}Texto original em inglês. Visite o GitHub para a versão atual.
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: