🙄
widgetを画像として保存しようとしたらエラー
Unhandled Exception: 'package:flutter/src/rendering/proxy_box.dart': Failed assertion: line 3158 pos 12: '!debugNeedsPaint': is not true.
エラーの解消法の結論
boundary変数から取得できるdebugNeedsPaintがtrueだったため。これをfalseになるようにしたらいけた。
もう少し具体的な修正のやり方を修正すると、画像として保存したいwidgetが描画中にtoImageメソッドが実行されるとエラーがスローされるので、そうならないために1秒待つようにしたら解決した。
1秒待つことによって、画面の再描画が終わるからである。
原因
上記ドキュメントから抜粋
To use toImage, the render object must have gone through the paint phase (i.e. debugNeedsPaint must be false).
toImage を使用するには、レンダー オブジェクトがペイント フェーズを通過している必要があります (つまり、debugNeedsPaint が false である必要があります)。
その他参考記事
Discussion