Android 如何在颤振中将图像转换为二维码?

Android 如何在颤振中将图像转换为二维码?,android,ios,flutter,Android,Ios,Flutter,我正在尝试将图像转换为二维码,并读取二维码以构建图像。我可以使用QR_颤振将图像放置在二维码的中心,但我无法找到一种方法将整个图像表示为二维码(可能是QR 40)。如果有人能在这方面帮助我,那将非常有帮助。Future\u getWidgetImage()async{ Future<Uint8List> _getWidgetImage() async { try { RenderRepaintBoundary boundary = _renderObjectKey

我正在尝试将图像转换为二维码,并读取二维码以构建图像。我可以使用QR_颤振将图像放置在二维码的中心,但我无法找到一种方法将整个图像表示为二维码(可能是QR 40)。如果有人能在这方面帮助我,那将非常有帮助。

Future\u getWidgetImage()async{
Future<Uint8List> _getWidgetImage() async {
 try {
   RenderRepaintBoundary boundary =
      _renderObjectKey.currentContext.findRenderObject();
   ui.Image image = await boundary.toImage(pixelRatio: 3.0);
   ByteData byteData =
      await image.toByteData(format: ui.ImageByteFormat.png);
   var pngBytes = byteData.buffer.asUint8List();
   var bs64 = base64Encode(pngBytes);
   debugPrint(bs64.length.toString());
   return pngBytes;
 } catch (exception) {}
}

@override
Widget build(BuildContext context) {
    return Scaffold(
        body: Column(children: [
          RepaintBoundary(
            key: _renderObjectKey,
            child: QrImage(
            data: "some text",
            size: 300.0,
            version: 10,
            backgroundColor: Colors.white,
         ),
       ),
       RaisedButton(onPressed: () {
         _getWidgetImage();
       })
     ]));
}
试一试{ 渲染边界= _renderObjectKey.currentContext.FindEnderObject(); ui.Image Image=wait boundary.toImage(像素比率:3.0); ByteData ByteData= 等待image.toByteData(格式:ui.ImageByteFormat.png); var pngBytes=byteData.buffer.asUint8List(); var bs64=base64Encode(pngBytes); debugPrint(bs64.length.toString()); 返回PNG字节; }捕获(异常){} } @凌驾 小部件构建(构建上下文){ 返回脚手架( 正文:列(子项:[ 重新绘制边界( 键:_renderObjectKey, 孩子:QrImage( 数据:“一些文本”, 尺寸:300.0, 版本:10, 背景颜色:Colors.white, ), ), 升起按钮(按下时:(){ _getWidgetImage(); }) ])); }
Future\u getWidgetImage()异步{
试一试{
渲染边界=
_renderObjectKey.currentContext.FindEnderObject();
ui.Image Image=wait boundary.toImage(像素比率:3.0);
ByteData ByteData=
等待image.toByteData(格式:ui.ImageByteFormat.png);
var pngBytes=byteData.buffer.asUint8List();
var bs64=base64Encode(pngBytes);
debugPrint(bs64.length.toString());
返回PNG字节;
}捕获(异常){}
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:列(子项:[
重新绘制边界(
键:_renderObjectKey,
孩子:QrImage(
数据:“一些文本”,
尺寸:300.0,
版本:10,
背景颜色:Colors.white,
),
),
升起按钮(按下时:(){
_getWidgetImage();
})
]));
}