Image 如何从使用CustomPainter绘制的画布中获取图像?

Image 如何从使用CustomPainter绘制的画布中获取图像?,image,canvas,dart,flutter,custom-painting,Image,Canvas,Dart,Flutter,Custom Painting,在我的flatter应用程序中,我使用了一个按钮,允许用户在屏幕上绘制他们的签名。我需要找到一种方法将其保存为图像 当您能够按照以下步骤将PictureRecorder对象传递到画布时,效果良好: final recorder=new picturererecorder(); 画布(录音机)。画一些东西; 最终图片=记录器.endRecording(); 但是,当使用CustomPainter时,画布是Paint()函数的一个参数 类myPainter扩展了CustomPainter{ @凌驾

在我的flatter应用程序中,我使用了一个按钮,允许用户在屏幕上绘制他们的签名。我需要找到一种方法将其保存为图像

当您能够按照以下步骤将
PictureRecorder
对象传递到画布时,效果良好:

final recorder=new picturererecorder();
画布(录音机)。画一些东西;
最终图片=记录器.endRecording();
但是,当使用
CustomPainter
时,画布是
Paint()
函数的一个参数

类myPainter扩展了CustomPainter{
@凌驾
空心油漆(帆布,尺寸){
帆布拖鞋;
@凌驾
bool应重新喷漆(旧){
返回false;
}
总而言之:

如何从CustomPainter生成图像?

如果答案是使用PictureRecorder,如何将记录器传递到画布?

您不需要在
CustomPainter
paint
方法中将
PictureRecorder
传递到画布。相反,您可以使用具有图片记录器的其他画布直接调用paint。例如:

Future getImage()异步{
最终PictureRecorder记录器=PictureRecorder();
myPainter.paint(画布(录音机),mySize);
最终图片=记录器.endRecording();
返回等待图片。toImage(宽度、高度);
}

嗨,我的朋友,我在尝试实现您的答案时出错。myPainter是一个类,您如何管理它?