Есть ли какой-либо альтернативный более быстрый подход к пользовательскому интерфейсу.Изображение.toByteData(формат: пользовательский интерфейс.ImageByteFormat.png)

#image #flutter #dart #flutter-canvas

Вопрос:

Я пытаюсь сохранить пользовательский интерфейс.Изображение в галерею устройств, для этого мне нужно преобразовать пользовательский интерфейс.Изображение.toByteData, которая занимает так много времени. Есть ли способ сохранить изображение в галерее без использования пользовательского интерфейса.Изображение.тоБытеДата? Ниже приведен мой код.

   final recorder = ui.PictureRecorder();
  Canvas canvas = Canvas(recorder);
  final size = Size(4902, 3000);
  painter.paint(canvas, size);
  final picture = recorder.endRecording();
  final img = await picture.toImage(4902, 3000);
  var bytes = await img.toByteData(format: ui.ImageByteFormat.png);//this line takes upto 25 seconds to execute
  Uint8List pngBytes = bytes.buffer.asUint8List();

  final result = await ImageGallerySaver.saveImage(
      Uint8List.fromList(pngBytes),
      quality: 80,
      name: 'canvas_image_${i   1}_' DateTime.now().toString());
 

Комментарии:

1. «есть способ сохранить изображение в галерее без использования пользовательского интерфейса. Изображение. тоБытеДата?» — нет

2. есть ли более быстрый подход к сохранению холста в виде изображения?