【问题标题】:Flutter- how to get pictures of screen widgets?Flutter-如何获取屏幕小部件的图片?
【发布时间】:2020-07-19 09:18:20
【问题描述】:

我正在使用不同的面部图像制作面部,并且我想在面部创建完成后将其导出为 jpg。我可以用什么来实现它?

您可以在此处看到创建了一个人脸,我只想将人脸导出为 jpeg。

【问题讨论】:

    标签: image flutter dart screenshot


    【解决方案1】:

    article 中,将 GlobalKey 与您的小部件一起使用并通过以下代码保存图像:

    takeScreenShot() async {
      RenderRepaintBoundary boundary =
          previewContainer.currentContext.findRenderObject();
      double pixelRatio = originalSize / MediaQuery.of(context).size.width;
      ui.Image image = await boundary.toImage(pixelRatio: pixelRatio);
      ByteData byteData = await image.toByteData(format: ui.ImageByteFormat.png);
      Uint8List pngBytes = byteData.buffer.asUint8List();
      setState(() {
        _image2 = Image.memory(pngBytes.buffer.asUint8List());
      });
      final directory = (await getApplicationDocumentsDirectory()).path;
      File imgFile = new File('$directory/screenshot.png');
      imgFile.writeAsBytes(pngBytes);
      final snackBar = SnackBar(
        content: Text('Saved to ${directory}'),
        action: SnackBarAction(
          label: 'Ok',
          onPressed: () {
            // Some code
          },
        ),
      );
    
      Scaffold.of(context).showSnackBar(snackBar);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-12-09
      • 1970-01-01
      • 2018-10-23
      • 2020-02-23
      • 2023-03-03
      • 2020-08-19
      • 1970-01-01
      • 2018-09-13
      • 2014-09-28
      相关资源
      最近更新 更多