Flutter图片添加水印功能,Flutter保存Widget为图片

时间:2022-07-22
本文章向大家介绍Flutter图片添加水印功能,Flutter保存Widget为图片,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题记

—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。

重要消息


添加水印,两种实现思路,一种是将图片与水印解码,然后混编再编码,另一种是通过Widget的方式合成。

在这里采用的实现思路是使用层叠布局Stack加载图片以及水印部分,水印部分可能是一个现成的图片也可能是一个文字等其他样式的组件,然后将这个Stack使用RepaintBoundary组件包裹起来,然后通过Widget生成图片的功能从而达到实现保存图片为水印效果。

          ///第一步 通过globalkey将Widget保存为ui.Image
          ui.Image _image = await ImageLoaderUtils.imageLoader
              .getImageFromWidget(_globalKey);

          ///第二步 异步将这张图片保存在手机内部存储目录下
          String localImagePath =  await ImageUtils.imageUtils
              .saveImageByUIImage(_image, isEncode: false);

ImageLoaderUtils与ImageUtils在这里