6.用Java實現螢幕
import java.awt.Dimension;<br />import java.awt.Rectangle;<br />import java.awt.Robot;<br />import java.awt.Toolkit;<br />import java.awt.image.BufferedImage;<br />import java.io.File;</p><p>import javax.imageio.ImageIO;</p><p>/*******************************************************************<br /> * 用Java實現螢幕<br /> * 該JavaBean可以直接在其他Java應用程式中調用,實現螢幕的"拍照"<br /> *****************************************************/</p><p>public class GuiCamera {<br />private String fileName; // 檔案的首碼<br />private String defaultName = "GuiCamera";<br />static int serialNum = 0;<br />private String imageFormat; // 影像檔的格式<br />private String defaultImageFormat = "png";<br />Dimension d = Toolkit.getDefaultToolkit().getScreenSize();</p><p>/****************************************************************<br /> * 預設的檔案首碼為GuiCamera,檔案格式為PNG格式 The default construct will use the default<br /> * Image file surname "GuiCamera", and default image format "png"<br /> ****************************************************************/<br />public GuiCamera() {<br />fileName = defaultName;<br />imageFormat = defaultImageFormat;</p><p>}</p><p>/****************************************************************<br /> * @param s<br /> * the surname of the snapshot file<br /> * @param format<br /> * the format of the image file, it can be "jpg" or "png"<br /> * 本構造支援JPG和PNG檔案的儲存<br /> ****************************************************************/<br />public GuiCamera(String s, String format) {</p><p>fileName = s;<br />imageFormat = format;<br />}</p><p>/****************************************************************<br /> * 對螢幕進行拍照 snapShot the Gui once<br /> ****************************************************************/<br />public void snapShot() {</p><p>try {<br />// 拷貝螢幕到一個BufferedImage對象screenshot<br />BufferedImage screenshot = (new Robot())<br />.createScreenCapture(new Rectangle(0, 0,<br />(int) d.getWidth(), (int) d.getHeight()));<br />serialNum++;<br />// 根據檔案首碼變數和檔案格式變數,自動組建檔案名<br />String name = fileName + String.valueOf(serialNum) + "."<br />+ imageFormat;<br />File f = new File(name);<br />System.out.print("Save File " + name);<br />// 將screenshot對象寫入影像檔<br />ImageIO.write(screenshot, imageFormat, f);<br />System.out.print("..Finished!/n");<br />} catch (Exception ex) {<br />System.out.println(ex);<br />}<br />}</p><p>public static void main(String[] args) {<br />GuiCamera cam = new GuiCamera("d://Hello", "png");//<br />cam.snapShot();<br />}<br />}