getImageDetails method

Future<ImageDetail> getImageDetails(
  1. {ImageByteFormat format = ImageByteFormat.rawRgba}
)

Implementation

Future<ImageDetail> getImageDetails(
    {ImageByteFormat format = ImageByteFormat.rawRgba}) async {
  Completer<ImageDetail> completer = Completer<ImageDetail>();

  resolve(const ImageConfiguration())
      .addListener(ImageStreamListener((ImageInfo imageInfo, bool _) async {
    final byteData = await imageInfo.image.toByteData(format: format);

    final dimensions = ImageDetail(
      width: imageInfo.image.width,
      height: imageInfo.image.height,
      byteBuffer: byteData?.buffer,
    );

    completer.complete(dimensions);
  }));

  return await completer.future;
}