flutter - 如何将插入文本表单字段的文本转换为 flutter 中的图像?

标签 flutter dart flutter-dependencies flutter-web

我有 Textformfield,用户可以在其中输入文本,然后点击按钮,我想将插入的文本转换为图像并将其显示在其他屏幕上。

任何帮助将不胜感激。

我尝试使用第三方 screenshot包,但我想要它没有第三方包或 API

最佳答案

您可以通过查找小部件的 RenderObject 并将其转换为图像来获取某些小部件的图像。然后你可以将这张图片保存在状态中并在其他地方使用。

下面是一个例子:

class _HomeState extends State<Home> {
  final GlobalKey _globalKey = GlobalKey();
  Widget? _image;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          if (_image != null) _image!,
          RepaintBoundary(
            key: _globalKey,
            child: TextField(),
          ),
          TextButton(
            onPressed: () async {
              final boundary = _globalKey.currentContext?.findRenderObject();
              if (boundary is RenderRepaintBoundary) {
                final uiimage = await boundary.toImage();
                final pngBytes = await uiimage.toByteData(format: ImageByteFormat.png);

                setState(() {
                  _image = Image.memory(
                      Uint8List.view(pngBytes!.buffer)
                  );
                });
              }
            },
            child: Text('Cheese'),
          )
        ],
      ),
    );
  }
}

关于flutter - 如何将插入文本表单字段的文本转换为 flutter 中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74820017/

相关文章:

ios - 'Pods-Runner' 目标具有传递依赖关系,包括静态链接的二进制文件 : (. ../ios/Flutter/Flutter.framework)

android - Flutter app后台使用compute函数

flutter - 如何从 flutter 中使用一种方法创建的多个文本字段中检索值?

events - Flutter:如何防止按键时的默认行为?

flutter - 在新小部件中使用提供程序实例时哪个更好?

flutter - 在文本小部件 flutter 中打印 int 值

dart - Flutter.io (dart) - 如何创建左填充覆盖?

Dart语言: how to convert a String into a Transferable (ByteBuffer)

android - 如何在检测到登录时更新所有 WebView 选项卡?

flutter - 搜索委托(delegate),当我单击“搜索”按钮时,它会显示带有错误子项的红色屏幕! =空