compressImageBytes static method

Uint8List compressImageBytes(
  1. Uint8List rawBytes, {
  2. double quality = 0.8,
})

Compresses document raw bytes buffer by downsampling stride step for enterprise efficiency.

Implementation

static Uint8List compressImageBytes(Uint8List rawBytes, {double quality = 0.8}) {
  if (rawBytes.isEmpty || quality >= 1.0) return rawBytes;
  final step = (1.0 / quality.clamp(0.1, 1.0)).round();
  if (step <= 1) return rawBytes;

  final compressed = <int>[];
  for (int i = 0; i < rawBytes.length; i += step) {
    compressed.add(rawBytes[i]);
  }
  return Uint8List.fromList(compressed);
}