optimizeImageColors function

Future<List<int>> optimizeImageColors(
  1. Map<String, dynamic> message
)

Implementation

Future<List<int>> optimizeImageColors(Map<String, dynamic> message) async {
  final List<int> originalBytes = message['original_bytes'];
  final int maxColors = message['max_colors'];
  final img.Image? image = img.decodeImage(Uint8List.fromList(originalBytes));
  if (image == null) {
    throw Exception('No se pudo decodificar la imagen');
  }

  final img.Image quantized = img.quantize(image, numberOfColors: maxColors);

  final List<int> optimizedBytes = img.encodePng(quantized, level: 9);

  return optimizedBytes;
}