removalColor method
Image decolorization.
Implementation
Future<Image?> removalColor({
Color color = const Color(0xffffffff),
double tolerance = 1,
}) async {
Completer<Image?> completer = Completer();
final ByteData? byteData =
await toByteData(format: ImageByteFormat.rawRgba);
if (byteData.isNoNull) {
final Uint32List uint32list = byteData!.buffer.asUint32List();
uint32list.iFor((index, element) {
final bool isDiff = element.uInt32toColor
.euclideanDistanceColorDifference(color, tolerance: tolerance);
if (!isDiff) uint32list[index] = 0;
});
decodeImageFromPixels(
uint32list.buffer.asUint8List(),
width,
height,
PixelFormat.rgba8888,
(Image result) => completer.complete(result),
);
}
return completer.future;
}