⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a09114f74257001b1647dc3ac84ad89f

📁 《ajax编程技术与实例》的所有的案例
💻
字号:
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;/** * 将屏幕分割成几个Chunk,然后在每个Chunk中放入数据内存; */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;		// 每个Chunk的高度、宽度		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++) {					// 在对应的位置放入响应的Chunk					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++) {						// 对每个Chunk写入图片的数据内存							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();			}		}	}	// 创建Robot类	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 + -