颤动将图像从屏幕保存到设备

时间:2019-08-29 14:43:52

标签: flutter

我在应用程序界面上有一张图片,可以通过拖放操作进行修改,按下按钮后,在编辑后的颤动中是否可以保存到设备上?

@override
  Widget build(BuildContext context) {
    final animation = Tween<double>(begin: 0, end: 1).animate(_controller);
    return Scaffold(
        body: Container(
      width: double.infinity,
      height: double.infinity,
      color: Colors.white,
      child: Stack(
        children: <Widget>[
          Container(
            padding: EdgeInsets.only(top: 40),
            alignment: Alignment.topCenter,
            child: Column(
              children: <Widget>[
                Image.asset('image/07.png', width: 400, height: 400),
              ],
            ),
          ),

1 个答案:

答案 0 :(得分:1)

下面的博客将帮助您在Flutter中本地保存数据

https://flutter.dev/docs/cookbook/persistence/reading-writing-files

如果您的要求不包括从外部访问照片/文件,请使用SharedPreferences。

https://pub.dev/packages/shared_preferences

如果您想快速回答:

File类需要一个复制方法,您可以使用该方法复制文件(该文件已经通过相机或放在画廊中保存在磁盘上),然后将其放入应用程序文档目录中:

// using your method of getting an image

    final File image = await ImagePicker.pickImage(source: imageSource);

// getting a directory path for saving
final String path = await getApplicationDocumentsDirectory().path;

// copy the file to a new path
final File newImage = await image.copy('$path/image1.png');

setState(() {
  _image = newImage;
});

您还应该注意,可以使用image.path从ImagePicker获取图像文件的路径,该路径还将包含您可能要提取的文件结尾,并且可以使用newImage.path保存图像路径。

来源:https://stackoverflow.com/a/51338178/10104608