小编mar*_*ine的帖子

RenderRepaintBoundary 到图像而不将小部件添加到屏幕

我正在尝试从小部件导出图像而不将此小部件添加到屏幕。

这甚至可能吗?

我已经通过添加到可滚动容器成功导出它,现在我想渲染它而不将其添加到屏幕并将其保存到临时文件以供共享。

我认为那里应该有一个“油漆”电话,但无法弄清楚确切的位置。

这是我的代码:

var shareImage = await ShareImageWidget.builder(context,
item: item, definition: definition);
var widget = shareImage.build(context);
var repaint = RepaintBoundary.wrap(widget, 0);
var render = RenderRepaintBoundary(child:repaint.createRenderObject(context));
ui.Image image = await render.toImage(pixelRatio: 1.0);
ByteData byteData = await image.toByteData(format:ui.ImageByteFormat.png);
var pngBytes = byteData.buffer.asUint8List();
var bs64 = base64Encode(pngBytes);
var dir = await getTemporaryDirectory();
Run Code Online (Sandbox Code Playgroud)

dart flutter

12
推荐指数
2
解决办法
2333
查看次数

标签 统计

dart ×1

flutter ×1