flutter_sticker_maker 0.1.6 copy "flutter_sticker_maker: ^0.1.6" to clipboard
flutter_sticker_maker: ^0.1.6 copied to clipboard

Flutter plugin to create stickers from images using iOS Vision/CoreImage and Android MLKit.

Flutter Sticker Maker #

A cross-platform Flutter plugin to create stickers by removing backgrounds from images using iOS Vision/CoreImage and ONNX.

Features #

  • iOS 17.0: Uses Vision and CoreImage with enhanced quality settings and edge smoothing
  • Android and iOS below 17.0: Uses ONNX models for background removal
  • Configurable border support with customizable color and width
  • Simple Dart API

Quality Enhancements #

  • Image preprocessing: Automatic contrast and brightness enhancement
  • Edge smoothing: Advanced algorithms to create natural-looking edges
  • Noise reduction: Built-in filtering for cleaner results
  • High-resolution support: Maintains image quality for large stickers

Performance Optimizations #

  • Native FFI Processing: High-performance C/C++ implementation for mask processing operations
  • SIMD Optimizations: ARM NEON (Android) and Accelerate Framework (iOS) for vectorized operations
  • Optimized Algorithms: Separable Gaussian blur (O(n) vs O(n²)) and efficient distance transforms
  • Memory Management: Memory pooling and zero-copy operations to reduce allocation overhead
  • Expected Speedup: 2-5x faster sticker creation with 30-50% less memory usage

The native FFI optimization automatically falls back to pure Dart implementation if the native library is unavailable, ensuring compatibility across all platforms.

Usage #

alternatively, you can initialize the plugin with the following code:

FlutterStickerMaker.initialize();

and dispose it when done:

FlutterStickerMaker.dispose();

make a sticker from an image:

import 'package:flutter_sticker_maker/flutter_sticker_maker.dart';

// Basic usage
final sticker = await FlutterStickerMaker.makeSticker(imageBytes);

// With border customization
final stickerWithBorder = await FlutterStickerMaker.makeSticker(
  imageBytes,
  addBorder: true,
  borderColor: '#FF0000', // Red border
  borderWidth: 15.0,      // 15 pixel border width
);

Parameters #

  • imageBytes: The input image as Uint8List (PNG/JPEG)
  • addBorder: Whether to add a border around the sticker (default: true)
  • borderColor: Hex color string for the border (default: '#FFFFFF')
  • borderWidth: Width of the border in pixels (default: 12.0)

Examples #

Demo App Screenshots #

example

See example/ for a full demo app.

Setup #

  • iOS: Minimum iOS 15.5
  • Android: Minimum SDK 21

Permissions #

Add to AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28"/>
<uses-permission android:name="android.permission.CAMERA" />

Add to ios/Runner/Info.plist:

<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to your photo library to pick images and save stickers.</string>
<key>NSCameraUsageDescription</key>
<string>This app needs camera access to take pictures for sticker creation.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app saves stickers to your photo library.</string>

Thanks #

image_background_remover

5
likes
150
points
448
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin to create stickers from images using iOS Vision/CoreImage and Android MLKit.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

ffi, flutter, onnxruntime

More

Packages that depend on flutter_sticker_maker

Packages that implement flutter_sticker_maker