} 2.需要指定转图片的widget,父widget为RepaintBoundary ... RepaintBoundary( key: _globalKey, child: widget, ) 3.widget转图片方法 Future<Uint8List>widgetToImage()async{Completer<Uint8List>completer=Completer();RenderRepaintBoundaryrender=_globalKey.currentContext!.findRenderObject()asRenderRepaintBoundary;ui...
2、Widget转图片 class WidgetToImage extends StatefulWidget{WidgetToImage({Key key}):super(key:key);@override _WidgetToImageStatecreateState()=>_WidgetToImageState();}class _WidgetToImageState extends State<WidgetToImage>{GlobalKey _globalKey=newGlobalKey();@override Widgetbuild(BuildContext context)...
添加水印,两种实现思路,一种是将图片与水印解码,然后混编再编码,另一种是通过Widget的方式合成。 在这里采用的实现思路是使用层叠布局Stack加载图片以及水印部分,水印部分可能是一个现成的图片也可能是一个文字等其他样式的组件,然后将这个Stack使用RepaintBoundary组件包裹起来,然后通过Widget生成图片的功能从而达到实现保存...
(Icons.add),),);}//中间图片旋转的组件Widget_buildRotationTransition(){returnContainer(child:RotationTransition(//设置动画的旋转中心alignment:Alignment.center,//动画控制器turns:_controller,//将要执行动画的子viewchild:Container(width:130,height:130,//圆形剪切child:ClipOval(child:Image.network("https://...
是指将Flutter应用中的一个Widget保存为图片文件的操作。这在一些特定场景下非常有用,比如生成用户自定义的图片、制作二维码、分享截图等。 具体实现方式如下: 1. 导入相关依赖包:在`pu...
添加水印,两种实现思路,一种是将图片与水印解码,然后混编再编码,另一种是通过Widget的方式合成。 在这里采用的实现思路是使用层叠布局Stack加载图片以及水印部分,水印部分可能是一个现成的图片也可能是一个文字等其他样式的组件,然后将这个Stack使用RepaintBoundary组件包裹起来,然后通过Widget生成图片的功能从而达到实现保存...
上面,我们通过RepaintBoundary包裹了需要生成图片的widget。下面,我们触发方法,生成图片: Widget build(BuildContext context) { return IconButton( icon: const Icon(Icons.insert_photo_rounded), onPressed: () async { try { // widget 转换成图片
widget_to_image flutter 将组件转换成图片 使用 导包 import'package:widget_to_image/WidgetToImage.dart'; 使用 GlobalKey globalKey = GlobalKey(); WidgetToImage(globalKeys:globalKey,alignment:Alignment.center,imageStr:"我是水印文本",imagePath:"images/shouji_bj2.png",stringSize:16.0,stringColor:Colors...
接着,我们将该图片数据流写成临时的文件。 我们需要用到包path_provider,截止发稿,该版本为2.1.3。 该插件方便我们查找文件系统的常用位置。 代码语言:javascript 复制 onPressed:()async{// widget 转换成图片RenderRepaintBoundary?boundary=boundaryKey.currentContext?.findRenderObject()asRenderRepaintBoundary?;ui.Imag...