export method

Future<Image> export(
  1. TextureSource texture,
  2. Size size
)

Exports date to an image

texture - source texture size - size of the output image

Implementation

Future<Image> export(
  TextureSource texture,
  Size size,
) async {
// coverage:ignore-start
  if (kIsWeb) {
    throw UnsupportedError('Not supported for web');
  }
// coverage:ignore-end
  PictureRecorder recorder = PictureRecorder();
  Canvas canvas = Canvas(recorder);
  if (!ready) {
    await prepare();
  }
  final fragmentProgram = _internalProgram;
  if (fragmentProgram == null) {
    throw UnsupportedError('Invalid shader for $runtimeType');
  }
  final painter = ImageShaderPainter(fragmentProgram, texture, this);

  painter.paint(canvas, size);
  Image renderedImage = await recorder
      .endRecording()
      .toImage(size.width.floor(), size.height.floor());
  return renderedImage;
}