Ahora aqui dejo una sencilla clase que permite "capturar" en una imagen cualquier parte de la pantalla utilizando para ello el objeto Robot de java
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
/**
* @web http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class capture {
private Dimension screenSize ;
private Point p;
private String tipo = "jpg";
private String path = "c:/";
public void setpath(String f){
this.path = f;
}
public void setdimension(Dimension d){
this.screenSize = d;
}
public void setpoint(Point p){
this.p = p;
}
public void settipo(String t){
this.tipo = t;
}
public capture(){
//toda la pantalla
this.screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
this.p = new Point(0,0);
this.tipo = "jpg";
this.path = "C:/default";
}
public void captureScreen() {
try {
//crea el area de captura
Rectangle screenRectangle = new Rectangle(p, screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
//guarda la imagen en disco
ImageIO.write(image, tipo, new File(path + "." + tipo));
} catch (IOException ex) {
Logger.getLogger(capture.class.getName()).log(Level.SEVERE, null, ex);
} catch (AWTException ex) {
Logger.getLogger(capture.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Para bajarte el codigo, clic en la imagen, no pesa nada
5 comentarios:
jc no funciona el link pana por favor actualizalo gracias
que tal, he desarrollado una aplicación en la cual capturo la pantalla del cliente y guardo la imagen en un servidor. el problema es cuando a esta aplicación la levanto como un servicio de windows. Las capturas salen negras. no se como solucionarlo ya que debe subirse a como de lugar como un servicio. es para monitoreo de usuarios.
eduardo: nose que decirte, pero si captura en local y no como servicio, tal vez este fallando en el proceso de guardado
Hola que tal!
Recibo los datos de la imagen por el puerto serie y con esos datos quiero armar un bmp.
Alguna sugerencia?
Amigo primero que todo muy bueno tu codigo, quisiera preguntarte por que "analice tu clase" y no veo como capturas el cursor del mouse, mi pregunta es si tu aplicación lo hace? y si no lo hace como lo harias?
espero tu respuesta
att. conejillo de indias otro programador sudaca
Publicar un comentario