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