Flutter widget that can use paint bucket functionality on the provided image using Queue-Linear Flood Fill Algorithm by J. Dunlap. For more info check out my blog : Flood Fill in Flutter
Kindly like:+1: the package at pub dev or star:star: the repo in github if you find this library useful. 😉
FloodFillImage(
imageProvider: AssetImage("assets/dog.jpg"),
fillColor: Colors.amber,
avoidColor: [Colors.transparent, Colors.black],
)
Name | Type | Description |
---|---|---|
imageProvider |
ImageProvider | The image to display via ImageProvider. You can use AssetImage or NetworkImage . |
fillColor |
Color | Color use for filling the area. |
isFillActive |
bool | Set false if you want to disable on touch fill function. Default value is true. |
avoidColor |
List<Color> | List of color that determines to which Color is/are needed to be avoided upon touch. Note: Nearest color shade is applied. |
tolerance |
int | Set fill value tolerance that ranges from 0 to 100. Default value is 8. |
width |
int | Width of the image. Parent widget width will be prioritize if it's provided and less than the image width. |
height |
int | Height of the image. Parent widget height will be prioritize if it's provided and less than the image height. |
alignment |
AlignmentGeometry | Alignment of the image. |
loadingWidget |
Widget | Widget to show while the image is being processed on initialization. It uses CircularProgressIndicator by default. |
onFloodFillStart |
Function(Offset position,Image image) | Callback function that returns the touch position and an Image from dart:ui when flood fill starts. Note: Touch coordinate is relative to the image dimension. |
onFloodFillEnd |
Function(Image image) | Callback function that returns an Image from dart:ui when flood fill ended. |
MIT License, see the LICENSE.md file for details.