toByteBuffer method

Future<ByteBuffer?> toByteBuffer(
  1. BuildContext context, {
  2. ImageByteFormat format = ImageByteFormat.rawRgba,
})

Converts the image to a ByteBuffer.

Implementation

Future<ByteBuffer?> toByteBuffer(BuildContext context,
    {ImageByteFormat format = ImageByteFormat.rawRgba}) async {
  final completer = Completer<ByteBuffer?>();

  final listener = ImageStreamListener((imageInfo, synchronousCall) async {
    final byteData = await imageInfo.image.toByteData(format: format);

    completer.complete(byteData?.buffer);
  });

  final imageStream = resolve(createLocalImageConfiguration(context));

  imageStream.addListener(listener);

  final byteBuffer = await completer.future;

  imageStream.removeListener(listener);

  return byteBuffer;
}