【发布时间】:2019-08-13 07:33:32
【问题描述】:
我尝试使用 Canvas 和 CustomPainter 绘制图像,但它不起作用。这是针对使用 Flutter Framework 的 Android 应用程序。
我刚刚在 Windows cmd 中使用命令 flutter build apk 来构建应用程序。
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(title: Text('Title!')),
body: Center(
child: AspectRatio(
aspectRatio: 1.0,
child: CustomPaint(
painter: ImageEditor(),
),
),
),
);
}
}
class ImageEditor extends CustomPainter {
@override
Future paint(Canvas canvas, Size size) async {
canvas.save();
ByteData bd = await rootBundle.load("assets/sampleImagees.jpg");
final Uint8List bytes = Uint8List.view(bd.buffer);
final ui.Codec codec = await ui.instantiateImageCodec(bytes);
final ui.Image image = (await codec.getNextFrame()).image;
canvas.drawImage(image, Offset(0.0, 0.0), Paint());
canvas.save();
canvas.restore();
}
@override
bool shouldRepaint(CustomPainter oldDelegate) {
return false;
}
}
应用程序没有任何错误,但没有发生任何事情。这只是一个白屏。 我的代码有什么问题?
【问题讨论】:
标签: android canvas flutter dart