2017-05-15 18 views
-1

私は、Javaで簡単なペイントアプリケーションを作成しています。ユーザーがクリックしたときにキャンバスに図面を保存するボタンがあります。どうやってやるの?キャンバスのスクリーンショットをJavaで保存して永久保存するにはどうすればいいですか?

+1

[スクリーンイメージ](https://tips4java.wordpress.com/2008/10/13/screen-image/)でこれを行うには便利なクラスをご覧ください。 – camickr

答えて

0

オフラインバッファにペイントしてディスクに保存する必要があります。

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"); 
+0

paintComponent()とpaintChildren()を別々に呼び出さず、キャンバスとして使用されているコンポーネントに対してpaint()を呼び出します。 'print(....)'を使う方が効率的であるとの意見もあります – camickr

関連する問題