【发布时间】:2020-03-10 02:47:35
【问题描述】:
我有这个演示代码:
import 'dart:convert';
import 'dart:ui';
void main() async {
final pictureRecorder = PictureRecorder();
Canvas(pictureRecorder).drawCircle(
const Offset(100, 100),
100,
Paint()..color = const Color.fromARGB(255, 255, 0, 0),
);
final picture = pictureRecorder.endRecording();
final image = await picture.toImage(200, 200);
print('//1 before toByteData await');
final rawByteData = await image.toByteData(format: ImageByteFormat.rawRgba);
print('//2 after toByteData await');
final encoded = base64.encode(rawByteData.buffer.asUint8List());
print('//3 base64: $encoded');
}
手机上的结果和预期的一样:
I/flutter (18489): //1 before toByteData await
I/flutter (18489): //2 after toByteData await
I/flutter (18489): //3 base64: AAAAAAAAAAAAAAAAAAAAAA.. (all the base64 string)
网络上的结果:
//1 before toByteData await
并且永远不会返回结果,有人可以解释一下我如何在网络中获得结果吗?
非常感谢您抽出宝贵时间分享您的知识!
【问题讨论】:
标签: flutter dart flutter-web