getImageDimensions static method

Future<Image?> getImageDimensions(
  1. String url
)

Get the dimensions of an image from a URL

Implementation

static Future<ui.Image?> getImageDimensions(String url) async {
  try {
    final NetworkImage provider = NetworkImage(url);
    final ImageStream stream = provider.resolve(ImageConfiguration.empty);
    final Completer<ui.Image> completer = Completer<ui.Image>();
    late ImageStreamListener listener;

    listener = ImageStreamListener((ImageInfo info, bool _) {
      completer.complete(info.image);
      stream.removeListener(listener);
    }, onError: (dynamic exception, StackTrace? stackTrace) {
      completer.completeError(exception, stackTrace);
      stream.removeListener(listener);
    });

    stream.addListener(listener);
    return await completer.future;
  } catch (e) {
    throw Exception('Error getting image dimensions: $e');
  }
}