0
JPanel
をどのようにしてFile
に変換しますか?私のパネルには、移動するImage
があり、私は個々のフレームを取得したい。JPanelをどのようにファイルに変換しますか?
JPanel
をどのようにしてFile
に変換しますか?私のパネルには、移動するImage
があり、私は個々のフレームを取得したい。JPanelをどのようにファイルに変換しますか?
異なる時点でパネルのBufferedImage
を作成し、イメージをファイルに保存することができます。
このための基本的なロジックは次のようになります。
BufferedImage image = new BufferedImage(panel.getWidth(), panel.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = image.createGraphics();
panel.print(g2d);
g2d.dispose();
ImageIO.write(...);
上記の機能を実現コンビニエンスメソッドのためScreen Imageクラスをチェックしてください。
もちろん、フレームごとに完全に新しいイメージが必要なので、これはあまり効率的ではありません。
ダブルバッファリングを伴わないので、 'paint'の代わりに' print'や 'printAll'を使うほうがいいでしょう。画面上にコンポーネントが実現されていなければ例外を投げません。 ) – MadProgrammer
ダブルバッファを使わない@MadProgrammerは意味があります。 (コード変更)。私は、塗装の問題があるにもかかわらずコンポーネントが実現しない場合、Exception(プラットフォームの違い?)に問題はありませんでした。基本的には、コンポーネントのサイズが(0、0)なので、塗りつぶすものはありません。 ScreenImageクラスは、レイアウトコードを呼び出してサイズを処理します。 – camickr
私は 'NullPointerException'でそれを持っていましたが、それはおそらく親に全く追加されていないという事実と関係しているので、ダブルバッファの設定に問題がありました。 P – MadProgrammer