recompress method

Uint8List recompress({
  1. int quality = 80,
  2. double scale = 1,
  3. bool preserveEXIF = true,
})

Lossy recompression and optional downscaling Scale should be 1, 0.5, 0.25 or 0.125

Implementation

Uint8List recompress({
  int quality = 80,
  double scale = 1,
  bool preserveEXIF = true,
}) {
  var newJpeg = _recompress(quality: quality, scale: scale);
  if (preserveEXIF) {
    var sink = _BytesIOSink();

    JpegSegment.rewriteWithAlternateAppSegments(
        jpegToWrite: newJpeg,
        jpegWithAppSegmentsToUse: jpegBytes,
        writer: sink);

    newJpeg = sink.bytes.takeBytes();
    sink.close();
  }
  return newJpeg;
}