Redimensionamento de imagens

2 respostas
F
OI gente alguem sabe pq essa linha não está funcionando o redimensionamento? :
public void atualiza(String arquivo) throws InterruptedException{
      //tempo de espera
    /*  String tempo = "0";//em milissegundo vezes um long mil abaixo para se tornarem segundos
      
     
         long time = Long.parseLong(tempo) * 1000L;
       
         Thread.sleep(time);
      */
      
      
      
      Toolkit toolkit = Toolkit.getDefaultToolkit();
      Dimension screenSize = toolkit.getScreenSize();   
      Rectangle screenRect = new Rectangle(screenSize);

      
     // criar screenshot
      
      Robot robot = null;
      try {    	  
         robot = new Robot();
      } catch (AWTException e1) {
         // TODO Auto-generated catch block
         e1.printStackTrace();
         
      }
         BufferedImage imgcapturada=(BufferedImage)robot.createScreenCapture(screenRect);
  
        imagem0 =  (BufferedImage)ScreenShot2.resize(imgcapturada,800,600);
o método resize é este aqui
public static  BufferedImage resize(BufferedImage imagem, int newWidth, int newHeight) {
    BufferedImage results = new BufferedImage(newWidth, newHeight,BufferedImage.TYPE_INT_RGB);//mexer aki na color model
    Graphics2D g = results.createGraphics();
    double scaleX = newWidth / (double) imagem.getWidth();
    double scaleY = newHeight / (double) imagem.getHeight();
    AffineTransform xform = AffineTransform.getScaleInstance(scaleX, scaleY);
    g.drawRenderedImage(imagem, xform);
    g.dispose();
    return results;
}

2 Respostas

furutani

Olá

fabioSCSnoobie:
OI gente alguem sabe pq essa linha não está funcionando o redimensionamento?

Linha? qual linha?
Qual exceção é lançada?

F

Ola frutani essa é a ironia, não há exceção o programa roda normalmente só não redimensiona a imagem como o esperado salvando ela no tamanho da tela.
Eu creio que talvez tenha algo a ver com o metodo como captura a tela através de screenrect e td mais, mas uma vez que a tela capturada vira uma BufferedIMage , nao vejo porque de ela não ser dimensionada como o programa da webcam

imagem0 = (BufferedImage)ScreenShot2.resize(imgcapturada,800,600); nessa linha
enquanto neste meu outro programa ele redimensiona a imagem como o esperado nesta linha

image1= Webcam.resize(vision1.getBufferedImage(),300,225);

sendo que este metodo gerBufferedImage() é este aki:

public BufferedImage getBufferedImage() { return (BufferedImage)getImage(); }

Criado 16 de novembro de 2006
Ultima resposta 16 de nov. de 2006
Respostas 2
Participantes 2