首页 > 解决方案 > 如何在 Flutter web 中截取小部件的屏幕截图

问题描述

我正在尝试截取 Flutter(网站开发)中特定小部件的屏幕截图,但出现异常:

'HtmlImage' 无法使用 toByteData 进行转换

有什么办法可以解决问题或以其他方式截取屏幕截图吗?

当我开发一个android应用程序时,这种方法很有效。

Future<String> saveScreenshot(BuildContext context) async
  {
    // Get image
    ui.Image renderedImage = await writeKey.currentState.rendered;
    setState(() {image = renderedImage;});

    // Encode image
    ByteData byteData = image.buffer.toByteData(format: ui.ImageByteFormat.png); //Not working
    var pngBytes =  byteData.buffer.asUint8List();

    // Create strings for message
    String bs64 = base64Encode(pngBytes);
    String size = bs64.length.toString();

    // send image to server and get answer from it
    var ans = await Network.communicate(bs64, size, context);
    return ans;
  }

标签: flutter-web

解决方案


推荐阅读