createImageElementFromBytes function

Future<HTMLImageElement> createImageElementFromBytes(
  1. Uint8List bytes, [
  2. String? dimensions
])

Implementation

Future<html.HTMLImageElement> createImageElementFromBytes(Uint8List bytes, [String? dimensions]) async{
  // Convert bytes to a base64-encoded string
  final base64String = base64Encode(bytes);

  // Create a data URL using the base64 string
  final dataUrl = 'data:image/jpg;base64,$base64String';

  // Create an ImageElement and set its source to the data URL
  html.HTMLImageElement imageElement = html.HTMLImageElement();
  imageElement.src = dataUrl;
  // int start = DateTime.now().millisecondsSinceEpoch;
  // print(start);
  List? dimensions = await _getDimensions(bytes);
  // print(DateTime.now().millisecondsSinceEpoch-start);
  // imageElement = setDimensions(imageElement, dimensions);
  if (dimensions != null) {
    console.verbose("extracted dimension width ${dimensions[0]} and height ${dimensions[1]}");
    imageElement.width = dimensions[0];
    imageElement.height = dimensions[1];
  } else {
    console.warning("could not extract dimensions from jpeg");
  }

  return imageElement;
}