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();
  final image = await Image.fromBytes(
      event.data[1], event.data[2], event.data[3],
      channels: Channels.rgb);
  onLibraryImageLoaded.call(image);
}