-1
私は、Javaで簡単なペイントアプリケーションを作成しています。ユーザーがクリックしたときにキャンバスに図面を保存するボタンがあります。どうやってやるの?キャンバスのスクリーンショットをJavaで保存して永久保存するにはどうすればいいですか?
私は、Javaで簡単なペイントアプリケーションを作成しています。ユーザーがクリックしたときにキャンバスに図面を保存するボタンがあります。どうやってやるの?キャンバスのスクリーンショットをJavaで保存して永久保存するにはどうすればいいですか?
オフラインバッファにペイントしてディスクに保存する必要があります。
BufferedImage offImage = (BufferedImage)createImage(getWidth(), getHeight());
Graphics2D g2 = offImage.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_RENDERING , RenderingHints.VALUE_RENDER_QUALITY);
paintComponent(g2);
paintChildren(g2);
ImageIO.write(offImage, "png", "snapshot.png");
paintComponent()とpaintChildren()を別々に呼び出さず、キャンバスとして使用されているコンポーネントに対してpaint()を呼び出します。 'print(....)'を使う方が効率的であるとの意見もあります – camickr
[スクリーンイメージ](https://tips4java.wordpress.com/2008/10/13/screen-image/)でこれを行うには便利なクラスをご覧ください。 – camickr