Flutter-从Widget导出图片


在Android中从View中导出图片,使用的是Canvas + Bitmap.

在Flutter中,同样支持这种功能,使用的是RepaintBoundary

使用RepaintBoundary包装Widget

RepaintBoundary(
                  key: _globalKey,
                  child: Container(
                    width: _width,
                    height: _height,
                    color: _color,
                  ),
                )

导出图片

RenderRepaintBoundary boundary = _globalKey.currentContext.findRenderObject();
final image = await boundary.toImage();
ByteData byteData = await image.toByteData(format: ImageByteFormat.png);
Uint8List pngBytes = byteData.buffer.asUint8List();

// 显示图片
showDialog(context: context,builder: (context) => Image.memory(pngBytes));}

文章作者: 姜康
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 姜康 !
评论
 上一篇
写个简单的短链接服务 写个简单的短链接服务
基本说明短链接服务就是一个将比较长的url转换为比较短的url的功能. 如果要实现一个短链接服务,至少要实现这几个功能: 将较长的url转换为较短的url 访问短链接可以直接访问到原网站/链接 时效性:永久有效/过期机制 统计与效率 如
2020-11-22
下一篇 
Glide原理分析 Glide原理分析
一个图片加载库应该具备的功能 图片下载 各种格式图片编解码 图片显示 缓存 图像处理:圆角,色调,调整大小等等 现在分析下Glide是如何实现这个图片加载库的,先来看一下Glide的主要模型 Glide内部模型TargetGlide可以将
2020-11-03
  目录