先吐槽一下下:
表示接近两个月没有敲代码了,现在看一下代码都感觉有点生了。三天打鱼两天晒网是不行的,再说我本来就有“健忘症”,真的是木有办法啊 ̄へ ̄。我一直信奉一句话:“勤能补拙”,它也是我学习路上的座右铭。一日一学一日功,一日不学十日空,说的一点也没错啊。这几天再重新温习一下(不能全忘了),由于这台电脑是临时用的,我就不装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(); } }