1

(Java) アニメーションを表すキャンバスがあります。スナップショットをファイルに保存できるように、キャンバスの内容を BufferedImage にコピーしたいと考えています。私がインターネットで見つけたすべてのチュートリアルは、内容をコピーするために paint() を使用すると言っていました。残念ながら、これにより、キャンバスに設定した方法とは異なる新しいコンテンツが作成されます。たとえば、ランダムに描かれた線があり、paint() を呼び出すと再計算されます。paint() を呼び出さずにキャンバスの内容を BufferedImage に保存する方法はありますか?

4

1 に答える 1

1

..paint() を呼び出さずにキャンバスの内容を BufferedImage に保存しますか?

BufferedImageイメージを に描画する前に、コンテンツをに描画しCanvasます。保存するときは、キャッシュされた画像を使用するだけです。

そして、3 ミレニアムに参加して、Swing コンポーネントを使用することを考えてみてください。JPanel&paintComponent(Graphics)の代わりにCanvas&を使用しpaint(Graphics)ます。

于 2012-05-14T02:54:10.340 に答える