flutter-web - 如何在 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;
}
解决方案
推荐阅读
- javascript - JS 如何创建图像并立即将其置于开始和结束样式之间的过渡?
- c++ - 当另一个函数已经在运行时运行一个函数
- javascript - 如何验证文本输入作为电子邮件地址 - Jquery
- c# - 空引用异常 Unity 2d
- python - 如何使自动建议与使用 *args 和 **kwargs 的嵌套函数一起工作
- azure - Azure 函数使用来自事件中心的消息并将它们存储在用于 redis 的 azure 缓存中
- visual-studio-2010 - VS2019:资源编译器的 WINVER 宏错误
- angular - Laravel 选项请求仅在 Firefox 中获取 Cors 错误
- excel - 优化复制过滤数据
- php - IIS 服务器中来自 PHP 的 Python [WinError -2147024891] 访问被拒绝