[RESOLVIDO] - Gravar Imagem (Image) em um diretório

Ola!!! Estou usando o JTWAIN e o método JTwain.acquire() retorna um Image…

Meu Problema é seguinte :
- Consigo capturar a imagem do scanner normalmente, e colocar a mesma no JScrollPane.
- O que eu to precisando é gravar essa imagem em um diretório qualquer em JPG.

Como eu faço isso???

Segue o código do scanner abaixo:

try{                      
            Image im = JTwain.acquire ();
            if (im == null)
            return;         
                       
            ia.setImage (im);            
            jsp.getHorizontalScrollBar ().setValue(0);
            jsp.getVerticalScrollBar ().setValue(0);            
           
            
            
       }
       catch(JTwainException e2){
           
          JOptionPane.showMessageDialog (GEDSCAN.this,e2.getMessage ());
       }

Aguardo resposta…

Falow!!!

Toolkit.getDefaultToolkit().createImage(morenaImage);

acho q assim vc cria uma imagem em disco.

dê uma olhada nisso tb:

http://docs.oracle.com/javase/1.5.0/docs/guide/imageio/spec/apps.fm4.html
http://docs.oracle.com/javase/1.4.2/docs/api/javax/imageio/ImageWriter.html

att,

Use o método ImageIO.write.

eu usei o ImageIO.write mais ta dando um erro.

pelo que eu vi ele recebe 3 parâmetros :

1- Image
2- String extensão
3- new File("/tmp");

fica dando erro no primeiro parametro (como se não fosse Image) e como vcs viram acima é um Image.

Tem como me passar um exemplo com base no meu código acima?

Valeu!!!

Não, o primeiro parâmetro não é um Image, mas sim, uma RenderedImage.

http://docs.oracle.com/javase/1.4.2/docs/api/javax/imageio/ImageIO.html#write(java.awt.image.RenderedImage,%20java.lang.String,%20java.io.File)

É fácil converter de um para outro:

[code]Image im = JTwain.acquire();
if (im == null)
return;

BufferedImage img = new BufferedImage(im.getWidth(), im.getHeight(), BufferedImage.INT_ARGB);
Graphics2D g2d = img.create();
g2d.drawImage(0,0,im, null);
g2d.dispose();

ImageIO.write(img, “JPG”, new File("/tmp/imagem.jpg"));[/code]

Okkk!!! Valew Vinny e pedruhenrik pela ajuda!!!

Consegui!!!

o código ficou assim:

try{                      
            Image im = JTwain.acquire ();
            if (im == null)
            return;         
                       
            BufferedImage img = new BufferedImage(im.getWidth(null), im.getHeight(null), BufferedImage.TYPE_INT_RGB); 
            Graphics2D g2d = img.createGraphics();  
            g2d.drawImage(im,0,0, null);  
            g2d.dispose();  
            
            try {
                ImageIO.write(img, "JPG", new File("/tmp/imagem.jpg"));
            } catch (IOException ex) {
                Logger.getLogger(GEDSCAN.class.getName()).log(Level.SEVERE, null, ex);
            }
            
            ia.setImage (im);            
            jsp.getHorizontalScrollBar ().setValue(0);
            jsp.getVerticalScrollBar ().setValue(0);            
           
            
            
       }
       catch(JTwainException e2){
           
          JOptionPane.showMessageDialog (GEDSCAN.this,e2.getMessage ());
       }

Valeww!!!

[quote=Jfalca]Ola!!! Estou usando o JTWAIN e o método JTwain.acquire() retorna um Image…

Meu Problema é seguinte :
- Consigo capturar a imagem do scanner normalmente, e colocar a mesma no JScrollPane.
- O que eu to precisando é gravar essa imagem em um diretório qualquer em JPG.

Como eu faço isso???

Segue o código do scanner abaixo:

try{                      
            Image im = JTwain.acquire ();
            if (im == null)
            return;         
                       
            ia.setImage (im);            
            jsp.getHorizontalScrollBar ().setValue(0);
            jsp.getVerticalScrollBar ().setValue(0);            
           
            
            
       }
       catch(JTwainException e2){
           
          JOptionPane.showMessageDialog (GEDSCAN.this,e2.getMessage ());
       }

Aguardo resposta…

Falow!!!
[/quote]

cara, por favor… me ajude… estou precisando conectar minha scanner no sistema que estou desenvolvendo para a empresa que eu trabalho… esta em processo final, so falta isso

por favor me ajude. o erro que esta dando e que nao esta encontrando a .dll da JTwain ja coloquei no System32 do windos, na minha aplicacao e nada…

tem como ajudar ai?