我的最终目标是能够通过传递原始图像数据或将图像保存到磁盘以共享本机android/ios服务来共享动态图像.如何将一个Widget或一个Canvas颤动转换为原始图像数据(如byte[])?
我正在使用RepaintBoundary截取当前小部件的屏幕截图,它是一个listView。但它只捕获当时在屏幕上可见的内容。
RepaintBoundary(
key: src,
child: ListView(padding: EdgeInsets.only(left: 10.0),
scrollDirection: Axis.horizontal,
children: <Widget>[
Align(
alignment: Alignment(-0.8, -0.2),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: listLabel(orientation),
)
),
Padding(padding: EdgeInsets.all(5.0)),
Align(
alignment: FractionalOffset(0.3, 0.5),
child: Container(
height: orientation == Orientation.portrait? 430.0: 430.0*0.7,
decoration: BoxDecoration(
border: Border(left: BorderSide(color: Colors.black))
),
//width: 300.0,
child:
Wrap(
direction: Axis.vertical,
//runSpacing: 10.0,
children: colWidget(orientation),
)
)
),
Padding(padding: EdgeInsets.all(5.0)),
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: listLabel(orientation),
)
],
),
);
Run Code Online (Sandbox Code Playgroud)
截图功能:
Future screenshot() async {
RenderRepaintBoundary boundary …Run Code Online (Sandbox Code Playgroud)