先吐槽一下下:
表示接近兩個月沒有敲代碼了,現在看一下代碼都感覺有點生了。三天打魚兩天曬網是不行的,再說我本來就有“健忘症”,真的是木有辦法啊 ̄へ ̄。我一直信奉一句話:“勤能補拙”,它也是我學習路上的座右銘。一日一學一日功,一日不學十日空,說的一點也沒錯啊。這幾天再重新溫習一下(不能全忘了),由於這台電腦是臨時用的,我就不裝Eslipse去試代碼了。
之前我也寫過JAVA實現截屏效果,用了兩三種方法,發現還是現在的這種方法最簡單。但是要注意的是此方法僅適用於JdK1.6及以上版本。
import java.awt.AWTException; import java.awt.Desktop; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL; import javax.imageio.ImageIO; public class CutPicture { public static void main(String[] args) throws MalformedURLException, IOException, URISyntaxException, AWTException { Desktop.getDesktop().browse(new URL("http://open-open.com/").toURI()); Robot robot = new Robot(); robot.delay(10000); Dimension d = new Dimension(Toolkit.getDefaultToolkit().getScreenSize()); int width = (int) d.getWidth(); int height = (int) d.getHeight(); // 最大化瀏覽器 robot.keyRelease(KeyEvent.VK_F11); robot.delay(2000); Image image = robot.createScreenCapture(new Rectangle(0, 0, width,height)); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = bi.createGraphics(); g.drawImage(image, 0, 0, width, height, null); // 保存圖片 ImageIO.write(bi, "jpg", new File("c:/open.jpg")); bi.close(); } }