📄 102fe7e36436001b1ca5e09d4b3e313e
字号:
package com.bam;import java.awt.Dimension;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketException;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.Random;import javax.imageio.ImageIO;public class ScreenCapture implements Runnable { static Robot robot = null; static Toolkit toolkit = Toolkit.getDefaultToolkit(); static Thread runner = null; static int capturew = 800; static int captureh = 600; static int chunks = 3; static int capturebh = captureh / chunks ; static int capturebw = capturew / chunks ; static HashMap Images = new HashMap(); public ScreenCapture(int width, int height,int chunks) { capturew = width; captureh = height; this.chunks = chunks; capturebh = captureh / chunks ; capturebw = capturew / chunks ; this.start(); } public void start() { if (runner == null) { for (int y=0; y < chunks; y++) { for (int x=0; x < chunks; x++) { Images.put(new Integer(chunks*y+x).toString(), new Chunk()); } } runner = new Thread(this); runner.start(); } } public static HashMap getImages() { return Images; } public static int getChunks() { return chunks; } public void run() { if (robot==null) robot = createRobot(); BufferedImage image = null; ByteArrayOutputStream os = null; Chunk c = null; while(true) { try { if (AJAX_Desktop.logdebug) System.out.println("Captured.."); for (int y=0; y < chunks; y++) { for (int x=0; x < chunks; x++) { image = robot.createScreenCapture(new Rectangle(x*capturebw, y*capturebh, capturebw, capturebh)); os = new ByteArrayOutputStream(); ImageIO.write(image, "png", os); byte[] imageStorage = os.toByteArray(); c = (Chunk) Images.get(new Integer(chunks*y+x).toString()); c.setData(os.toByteArray()); } } } catch (Exception E) { E.printStackTrace(); } } } private static Robot createRobot() { try { return new Robot(); } catch(Exception e) { e.printStackTrace(); } return null; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -