4

エクスポート ファイルのコードがありませんが、何を追加すればよいかわかりません。JPanel -> パネルに描画された画像があり、その画像をデスクトップに保存したいと考えています。何を追加する必要がありますか?

JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(panel);

次のコードを paintComponent メソッドに追加しました。

bi = new BufferedImage(panel.getSize().width,panel.getSize().height,
          BufferedImage.TYPE_INT_ARGB);
g = bi.createGraphics();

そして、保存ボタンはこれを行います... 他に何が欠けていますか? または、もっと間違ったことをしています。

JFileChooser chooser = new JFileChooser();
chooser.showSaveDialog(panel);

try{ImageIO.write(bi,"png",new File("test.png"));}catch (Exception ex) {}
4

1 に答える 1

6

JPanel でどのように描画していますか? 私の意見では、賢明な方法は BufferedImage に描画し、単純に BufferedImage を使用してファイルに保存することですImageIO.write(...)

あなたの状態を編集
:

JPanel を拡張するクラスにポリゴンを描画しているだけです。それらは paintComponent メソッドで作成します。

繰り返しますが、Graphics コンテキストを取得し、この Graphics オブジェクトを使用して画像に描画し、Graphics オブジェクトを破棄することにより、それらを BufferedImage に描画することをお勧めします。paintComponent(...)を呼び出して、JPanel のメソッドで BufferedImage を表示しますg.drawImage(...)。次に、描画を保存する場合は、単純に BufferedImage を保存します。

于 2012-10-23T02:55:46.223 に答える