如何使用 Flutter 创建截图应用程序?

问题描述

我正在考虑使用 Flutter 制作一个 Screenshot 应用程序。

截图应用的特点是:

  • 创建一个浮动按钮,可以在其他应用上浮动/绘制。该按钮也应该是可拖动的。
  • 用户按下浮动按钮时,截取整个屏幕的屏幕截图。
  • 将屏幕截图存储在本地存储中。

Like this floating button. 当我点击那个浮动按钮时,它应该会截取整个屏幕的截图。

是否有任何小部件或软件包可用于此目的? 欢迎任何有关实施此方法的建议。

谢谢。

解决方法

有一个插件 (screenshot) 可让您将小部件捕获为图像。因此,您还可以捕获未呈现在屏幕上的小部件。

第 1 步:

  //Create an instance of ScreenshotController
  ScreenshotController screenshotController = ScreenshotController();

第 2 步: 将要捕获的小部件包裹在 Screenshot 中

Screenshot(
    controller: screenshotController,child: Text("This text will be captured as image"),),

第 3 步: 通过调用 capture 方法截取屏幕截图。这将返回一个 Uint8List

screenshotController.capture().then((Uint8List image) {
    //Capture Done
    setState(() {
        _imageFile = image;
    });
}).catchError((onError) {
    print(onError);
});

因此,如果您想将图像保存到特定位置并通过传递目录位置来共享,请使用 captureAndSave 方法。