flutter - Flutter - 如何将图表保存为设备中的图像或发送到服务器?
问题描述
我需要在 Flutter 中制作一个图表,将折线图和点图合二为一。我发现charts_flutter库允许“组合”图表。但我找不到将图表保存为设备中的图像或发送到服务器的方法。有人遇到过这个问题吗?如果其他库可以执行创建组合图和另存为图像的这两项任务,我也对它们持开放态度。谢谢!
解决方案
使用其全局键获取小部件的渲染对象
RenderRepaintBoundary boundary = _globalKey.currentContext.findRenderObject();
将渲染对象转换为 Image 类
ui.Image image = await boundary.toImage(pixelRatio: 3.0);
获取字节数据
ByteData byteData =await image.toByteData(format: ui.ImageByteFormat.png)
获取 Uint,这是您要处理的图像保存到磁盘或将其发送到服务器
Uint8List pngBytes = byteData.buffer.asUint8List();
推荐阅读
- javascript - React Context API - 孩子/消费者可以请求提供者更改值吗?
- c - 如何通过大于 65535 字节的 iw_point 传递数据?
- c# - 使用通用接口创建工厂
- python - 如何在 Keras 中试验自定义二维卷积核?
- java - AWS S3 - 删除多个对象时出现 UserKeyMustBeSpecified 错误
- python - ipywidgets 使用复选框来显示或隐藏其他小部件
- javascript - Python 版本的 JavaScript ES6 符号
- android - 删除笔记后,用户收不到通知
- elasticsearch - 弹性搜索批量操作
- wpf - 当我运行代码时,它会抛出无效参数异常,我该如何解决?