【发布时间】:2023-03-29 01:49:02
【问题描述】:
我正在开发一个带有颤振桌面的程序,它截取一个小部件,并将其保存到桌面。我已经能够截取屏幕截图,我的问题是如何使用 path_provider 包将屏幕截图保存到我的桌面
这是我为获取路径而编写的代码
Future<String> getFilePath() async {
Directory appDocumentsDirectory =
await getApplicationDocumentsDirectory(); // 1
String appDocumentsPath = appDocumentsDirectory.path; // 2
String filePath = '$appDocumentsPath/image.png'; // 3
return filePath;
}
这是屏幕截图逻辑的代码,我将我的主要代码包装在屏幕截图小部件中
ElevatedButton(
onPressed: () {
screenshotController
.capture(delay: Duration(milliseconds: 10))
.then((capturedImage) async {
ShowCapturedWidget(context, capturedImage!);
}).catchError((onError) {
print(onError);
});
},
child: Text(_message)),
],
),
),
),
);
}
Future<dynamic> ShowCapturedWidget(
BuildContext context, Uint8List capturedImage) {
return showDialog(
useSafeArea: false,
context: context,
builder: (context) => Scaffold(
appBar: AppBar(
title: Text("Captured widget screenshot"),
),
body: Center(
child: capturedImage != null
? Image.memory(capturedImage)
: Container()),
),
);
}
如何将捕获的图像保存到我的桌面,或者如何将其作为邮件自动发送。
【问题讨论】:
-
看看这个thread
-
这里有两个问题。如何作为电子邮件的附件发送需要明确;要使用哪些 pub 包。我已经用下面的一些假设回答了这两个问题。
标签: flutter dart flutter-dependencies flutter-web dart-pub