compress method

void compress(
  1. dynamic onBytesLoaded(),
  2. dynamic onLibraryImageLoaded(
    1. Image
    )
)

compressed image is shown for user's reference

Implementation

void compress(Function() onBytesLoaded, Function(Image) onLibraryImageLoaded) async {
  worker.postMessage([0, imageBytes]);
  final event = await worker.onMessage.first;
  final List<int> intList = event.data[0];
  imageBytes = Uint8List.fromList(intList);
  onBytesLoaded.call();
  Uint8List byteData = Uint8List.fromList(event.data[3]);
  final image = Image.fromBytes(
      width: event.data[1], height: event.data[2], bytes: byteData.buffer,
      numChannels: 3);
  onLibraryImageLoaded.call(image);
}