convert static method

Future<Uint8List> convert(
  1. dynamic image, {
  2. String format = 'jpeg',
  3. int quality = 80,
  4. int? height,
  5. int? width,
  6. bool preserveExif = true,
})

Implementation

static Future<Uint8List> convert(
  image, {
  String format = 'jpeg',
  int quality = 80,
  int? height,
  int? width,
  bool preserveExif = true,
}) async {
  if (!_formatMap.containsKey(format)) {
    throw Exception('Output format not supported by library.');
  }

  if (image is Uint8List) {
    var output = await FlutterImageCompress.compressWithList(
      image,
      quality: quality,
      format: _formatMap[format]!,
      minHeight: height ?? 1080,
      minWidth: width ?? 1920,
      keepExif: preserveExif,
    );

    return output;
  } else if (image is String) {
    var output = await FlutterImageCompress.compressWithFile(
      image,
      quality: quality,
      format: _formatMap[format]!,
      minHeight: height ?? 1080,
      minWidth: width ?? 1920,
      keepExif: preserveExif,
    );

    if (output == null) {
      throw Exception('Unable to compress image file');
    }

    return output;
  } else {
    throw Exception('Image must be a Uint8List or path.');
  }
}