Для сообщения об ошибке Future 'нельзя присвоить типу параметра' Image, пожалуйста, измените значение с
Future<ui.Image> _img = img.toImage(300, 300);
на
var _img = await img.toImage(300, 300);
, и эта строка не будетработать
canvas.drawImage(_img, Offset(100, 100), Paint());
, потому что pictureRecorder уже завершен, поэтому есть ошибка
Object has been disposed.