java屏幕截屏

package com.glodon.util;

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;
public class CaptureScreen {

public static void captureScreen(String fileName, String folder) throws Exception {

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
//保存路径
File screenFile = new File(fileName);
if (!screenFile.exists()) {
screenFile.mkdir();
}
File f = new File(screenFile, folder);

ImageIO.write(image, "png", f);
//自动打开
if (Desktop.isDesktopSupported()
&& Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
Desktop.getDesktop().open(f);
}

public static void main(String[] args) {
try {
captureScreen("F:\\你好","11.png");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java可以使用java.awt和java.awt.image包中的Robot类来实现屏幕图。下面是一个示例代码: ``` import java.awt.*; import java.awt.image.*; import java.io.*; import javax.imageio.*; public class ScreenCapture { public static void main(String[] args) { try { Robot robot = new Robot(); Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); BufferedImage screenImage = robot.createScreenCapture(screenRect); ImageIO.write(screenImage, "png", new File("screen.png")); } catch (AWTException | IOException e) { e.printStackTrace(); } } } ``` 这段代码会取整个屏幕并将其保存为PNG格式的图片文件。 ### 回答2: Java实现屏幕图可以使用Robot类。Robot类是Java提供的一个用于自动化操作的类,它可以模拟鼠标和键盘的操作。通过使用Robot类的createScreenCapture方法可以实现屏幕图。 具体的实现步骤如下: 1. 创建一个Robot对象,通过以下代码实现: ``` Robot robot = new Robot(); ``` 2. 调用Robot对象的createScreenCapture方法来进行屏幕图,该方法返回一个BufferedImage对象,通过以下代码实现: ``` BufferedImage screenshot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ``` 3. 可以选择将图保存到文件中,通过以下代码实现: ``` File file = new File("screenshot.png"); ImageIO.write(screenshot, "png", file); ``` 通过以上步骤,就可以实现Java屏幕图。整体的代码如下所示: ```java import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class ScreenShotExample { public static void main(String[] args) { try { Robot robot = new Robot(); BufferedImage screenshot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); File file = new File("screenshot.png"); ImageIO.write(screenshot, "png", file); System.out.println("屏幕图保存成功!"); } catch (Exception e) { System.err.println(e); } } } ``` 以上就是使用Java实现屏幕图的方法,通过Robot类的createScreenCapture方法和ImageIO库可以轻松实现该功能。注意在使用过程中可能需要处理异常,以确保图顺利保存。 ### 回答3: 在Java中,要实现屏幕图,可以使用`Robot`类和`BufferedImage`类。下面是一个简单的示例代码: ```java import java.awt.AWTException; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ScreenshotExample { public static void main(String[] args) { try { // 创建Robot对象 Robot robot = new Robot(); // 获取屏幕大小 Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); // 图 BufferedImage screenshot = robot.createScreenCapture(screenRect); // 保存图到文件 File file = new File("screenshot.png"); ImageIO.write(screenshot, "png", file); System.out.println("屏幕图已保存到文件: " + file.getAbsolutePath()); } catch (AWTException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在代码中,首先创建一个`Robot`对象,然后通过调用`createScreenCapture()`方法来进行屏幕图。`createScreenCapture()`方法接受一个`Rectangle`对象参数,用于指定图的区域。在这个示例中,通过`Toolkit.getDefaultToolkit().getScreenSize()`获取了整个屏幕的大小作为图区域。 接着,将图保存到一个`BufferedImage`对象中,并通过`ImageIO.write()`方法将其保存为PNG格式的图片文件。 运行这个示例代码后,屏幕图将保存在当前工作目录下的`screenshot.png`文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值