首页 > 解决方案 > Flutter - 如何将图表保存为设备中的图像或发送到服务器?

问题描述

我需要在 Flutter 中制作一个图表,将折线图和点图合二为一。我发现charts_flutter库允许“组合”图表。但我找不到将图表保存为设备中的图像或发送到服务器的方法。有人遇到过这个问题吗?如果其他库可以执行创建组合图和另存为图像的这两项任务,我也对它们持开放态度。谢谢!

标签: flutterdartcharts

解决方案


使用其全局键获取小部件的渲染对象

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();

推荐阅读