_CastError(类型 'Future<ByteData?>' 不是类型转换中类型 'FutureOr<ByteData>' 的子类型)



我想创建一个函数,允许您将用户的签名保存为手机中的图像,但我收到一个错误。以下是用于备份的函数

void handleSavedButtonPressed() async {
RenderSignaturePad boundary = widget.signatureKey.currentContext!
.findRenderObject() as RenderSignaturePad;
ui.Image image = await boundary.toImage();
ByteData byteData = await (image.toByteData(
format: ui.ImageByteFormat.png,
) as FutureOr<ByteData>);
final time = DateTime.now().millisecond;
final name = "Signature_$time.png";
final result = await ImageGallerySaver.saveImage(
byteData.buffer.asUint8List(),
quality: 100,
name: name,
);
print(result);
toastInfo(result.toString());
widget.signatureKey.currentState!.clear();
}

就是这一行引发了异常

ByteData byteData = await (image.toByteData(
format: ui.ImageByteFormat.png,
) as FutureOr<ByteData>);

你能试试吗?

ByteData byteData = await (image.toByteData(
format: ui.ImageByteFormat.png,
) as Future<ByteData?>);

相关内容

最新更新