当前位置: 技术问答>java相关
如何利用java实现屏幕拷贝的问题
来源: 互联网 发布时间:2015-10-06
本文导语: 最近想要完成一个将屏幕的状态复制到剪贴板,并把图片保存的问题 开始想利用利用机器人printscreen键,但是这个键值找不到。 然后用手工按键但是如何从剪贴板取回图片又没有可以使用的类。 请教各位高手赐教! ...
最近想要完成一个将屏幕的状态复制到剪贴板,并把图片保存的问题
开始想利用利用机器人printscreen键,但是这个键值找不到。
然后用手工按键但是如何从剪贴板取回图片又没有可以使用的类。
请教各位高手赐教!
开始想利用利用机器人printscreen键,但是这个键值找不到。
然后用手工按键但是如何从剪贴板取回图片又没有可以使用的类。
请教各位高手赐教!
|
或许这段代码可以对你有帮助.
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import com.sun.image.codec.jpeg.*;
public class ImageUtils {
public static BufferedImage getScreenImage() throws Exception {
Robot robot = new Robot();
Dimension screenDims = Toolkit.getDefaultToolkit().getScreenSize();
BufferedImage screen = robot.createScreenCapture(new Rectangle(110, 110, screenDims.width, screenDims.height));
MediaTracker tracker = new MediaTracker(new Label());
tracker.addImage(screen, 0);
try {
tracker.waitForID(0);
}
catch (InterruptedException e) {
/** ... */
}
return screen;
}
public static void saveImage(BufferedImage image, String fileName) throws Exception {
FileOutputStream fileStream = new FileOutputStream(fileName);
JPEGEncodeParam encodeParam = JPEGCodec.getDefaultJPEGEncodeParam(image);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fileStream);
encoder.encode(image, encodeParam);
}
public static void main(String[] args) throws Exception {
ImageUtils.saveImage(ImageUtils.getScreenImage(), "screen.jpg");
System.exit(0);
}
}
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import com.sun.image.codec.jpeg.*;
public class ImageUtils {
public static BufferedImage getScreenImage() throws Exception {
Robot robot = new Robot();
Dimension screenDims = Toolkit.getDefaultToolkit().getScreenSize();
BufferedImage screen = robot.createScreenCapture(new Rectangle(110, 110, screenDims.width, screenDims.height));
MediaTracker tracker = new MediaTracker(new Label());
tracker.addImage(screen, 0);
try {
tracker.waitForID(0);
}
catch (InterruptedException e) {
/** ... */
}
return screen;
}
public static void saveImage(BufferedImage image, String fileName) throws Exception {
FileOutputStream fileStream = new FileOutputStream(fileName);
JPEGEncodeParam encodeParam = JPEGCodec.getDefaultJPEGEncodeParam(image);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fileStream);
encoder.encode(image, encodeParam);
}
public static void main(String[] args) throws Exception {
ImageUtils.saveImage(ImageUtils.getScreenImage(), "screen.jpg");
System.exit(0);
}
}