processImage function

Future<ImageElement?> processImage(
  1. Uint8List? bytes,
  2. String? url,
  3. bool flipY
)

Implementation

Future<ImageElement?> processImage(Uint8List? bytes, String? url, bool flipY) async{
  final completer = Completer<ImageElement>();
  if(bytes != null){
    html.HTMLImageElement imageElement = await createImageElementFromBytes(bytes, url);
    //image = image?.convert(format:Format.uint8,numChannels: 4);
    completer.complete(
      ImageElement(
        url: url,
        data: imageElement,
        width: imageElement.width,
        height: imageElement.height,
      ),
    );
  }
  else{
    final imageDom = html.HTMLImageElement();
    imageDom.crossOrigin = "anonymous";
    imageDom.src = url!;

    imageDom.onLoad.listen((e) {
      completer.complete(
        ImageElement(
          url: url,
          data: imageDom,
          width: imageDom.width.toInt(),
          height: imageDom.height.toInt()
        )
      );
    });
  }
  return completer.future;
}