📄 capturer.java
字号:
/*
* Capturer.java
*
* Created on 2006年11月14日, 上午3:13
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package cn.edu.tsinghua.thss.talkie.capture;
import java.awt.AWTException;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
/**
*
* @author promenade
*/
public class Capturer implements Runnable{
Dimension screenSize;
Image screen;
// int x,y;
/** Creates a new instance of Capturer */
public Capturer() {
screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
Thread thread = new Thread( this );
thread.start();
}
public BufferedImage capture( ){
Dimension d = screenSize;
BufferedImage screenshot = null;
try {
screenshot = (new Robot()).createScreenCapture(new Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));
} catch (AWTException ex) {
ex.printStackTrace();
}
// Image image = compressSize( screenshot, 3 );
// return image;
return screenshot;
}
public Image compressSize( BufferedImage bi, double ratio ){
if( ratio < 1 ) return null;
double width = bi.getWidth() / ratio;
double height = bi.getHeight() / ratio;
return bi.getScaledInstance( (int)Math.floor(width), (int)Math.floor(height), java.awt.Image.SCALE_SMOOTH);
}
public Image compressSize( BufferedImage bi, Dimension target ){
return bi.getScaledInstance( (int)Math.floor( target.getWidth() ), (int)Math.floor( target.getHeight() ), java.awt.Image.SCALE_SMOOTH);
}
public void run() {
// while(true){
// screen = this.capture();
// try {
// Thread.sleep(100);
// } catch (InterruptedException ex) {
// ex.printStackTrace();
// }
// }
screen = this.capture();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -