java利用机器人Robot类实现捕获桌面屏幕图像,并将屏幕图像从服务器端发送到客户端代码
时间: 2023-11-27 15:51:33 浏览: 39
以下是Java利用Robot类实现捕获桌面屏幕图像,并将屏幕图像从服务器端发送到客户端的示例代码:
服务器端代码:
```java
import java.awt.*;
import java.awt.image.BufferedImage;
import java.net.ServerSocket;
import java.net.Socket;
import javax.imageio.ImageIO;
import java.io.OutputStream;
public class ScreenCaptureServer {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(8888); // 监听端口号8888
System.out.println("等待客户端连接...");
Socket socket = serverSocket.accept(); // 等待客户端连接
System.out.println("客户端连接成功!");
Robot robot = new Robot();
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); // 获取屏幕大小
OutputStream os = socket.getOutputStream();
while (true) {
BufferedImage image = robot.createScreenCapture(screenRect); // 屏幕截图
ImageIO.write(image, "png", os); // 将图片写入输出流
os.flush();
Thread.sleep(100); // 间隔100毫秒
}
}
}
```
客户端代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.net.Socket;
import javax.imageio.ImageIO;
import java.io.InputStream;
public class ScreenCaptureClient {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 8888); // 连接服务器端口号8888
InputStream is = socket.getInputStream();
JFrame frame = new JFrame();
JLabel label = new JLabel();
frame.getContentPane().add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
while (true) {
BufferedImage image = ImageIO.read(is); // 读取输入流中的图片
label.setIcon(new ImageIcon(image)); // 显示图片
}
}
}
```
这个示例程序会不断地从服务器端捕获屏幕图像,并将图像发送给客户端,客户端接收到图像后显示在窗口中。注意,在运行这个程序时,需要先启动服务器端,然后再启动客户端。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)