如何将我生成的 QR 图像保存到图库中?使用颤振

Posted

技术标签:

【中文标题】如何将我生成的 QR 图像保存到图库中?使用颤振【英文标题】:how to save my QR generated image into gallery? using Flutter 【发布时间】:2021-04-14 01:34:36 【问题描述】:

我正在尝试使用RenderRepaintBoundary 生成图像并希望将图像保存在我的本地目录中。 我可以保存图像,但我得到的是黑色图像而不是 QR 图像。

我将图像写入目录的代码块:

try 
    RenderRepaintBoundary boundary =  
        globalKey.currentContext.findRenderObject();  
    var image = await boundary.toImage();
    
    ByteData byteData = await image.toByteData(format: ImageByteFormat.png);
    
    Uint8List pngBytes = byteData.buffer.asUint8List();
         
    final file =
              await new File('/<localpath>/image.png').create();
          
    await file.writeAsBytes(pngBytes);
 catch (e) 
    print(e);    

    

正在生成二维码的代码块:

RepaintBoundary( key: globalKey,child: QrImage(data: _dataString,size: 0.3 * bodyHeight,), );

【问题讨论】:

【参考方案1】:

这是由透明背景引起的; 简单的解决方案是用具有白色背景的容器包装您的 QrImage:

Container(
    color: Colors.white,
    child: QrImage(....
)

【讨论】:

你为我节省了很多时间。谢谢。

以上是关于如何将我生成的 QR 图像保存到图库中?使用颤振的主要内容,如果未能解决你的问题,请参考以下文章

将生成的QR码图像保存到路径中

如何在图库中保存许多 imageview 副本

Objective c 将图像保存到图库

NativeScript - 如何将图像保存/添加到手机的默认图库应用程序中

如何从图库中选择图像并保存到 xamarin 中的 sql 数据库

Flutter 如何将图像文件保存到图库中的新文件夹?