Salvar imagem

Opa…

Como se faz pra salvar uma imagem através do ImageIcon?!

Não achei nenhum método pra isso na documentação da classe…

Ajuda?!

:lol:

Meu código (isso tá dentro do while):

[code]ImageIcon imagem = new ImageIcon(rs.getBytes(“im_figura_fso”));

				File file = new File("c:/imagem"+intConta+".jpg");
				ImageIO.write(imagem, "jpg", file);[/code]

resolveu ?

to ainda procurando…

tá dificil achar um jeito de converter para o tipo correto… enfim…

alguma dica?!

O imageIO não resolveu ?

é que imageIO não aceita imagens do tipo imageIcon… só imagens padrão…

daí teria que fazer a conversão…

to tentando fazer o mesmo aqui…tenta isso

[quote]ByteInputStream in = new ByteInputStream(imgBytes,0);
Image image = Toolkit.getDefaultToolkit().createImage(imgBytes);
BufferedImage bi = new BufferedImage(320, 240,BufferedImage.TYPE_INT_RGB);
Graphics2D g = bi.createGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
File fi = new File(“D:\img_rec\s”+nome+".jpg");
ImageIO.write(bi, “jpg”, fi);
nome++;
long tempoAtual = System.currentTimeMillis() - tempo;
System.out.println(tempoAtual);[/quote]

qual o import pra isso?!

ByteInputStream

ola

esse aqui resolveu!!

[code]public void voltaImagem()
{
try{
int nome = 0;

	PreparedStatement ps = db.prepareStatement("select * from images limit 500");
	ResultSet rs = ps.executeQuery();
	if (rs != null) {
	   while (rs.next()) {
		   long tempo = System.currentTimeMillis();  
		   byte[] imgBytes = rs.getBytes(2);
		      // use the bytes in some way here
		      ByteInputStream in = new ByteInputStream(imgBytes,0);
		      Image image = Toolkit.getDefaultToolkit().createImage(imgBytes);  
		      BufferedImage bi = new BufferedImage(320, 240,BufferedImage.TYPE_INT_RGB);
		      Graphics2D g = bi.createGraphics();
		      g.drawImage(image, 0, 0, null);
		      g.dispose();
		      File fi = new File("D:\\img_rec\\s"+nome+".jpg");
		      ImageIO.write(toBufferedImage(image), "jpg", fi);
		      nome++;
		      long tempoAtual  = System.currentTimeMillis() - tempo;
		      System.out.println(tempoAtual);
		      tempo = System.currentTimeMillis();
		   }
		   rs.close();
		}
			ps.close();	
	}catch(Exception e)
	{
		e.printStackTrace();
	}
	
}[/code]

Cara… os imports?! quais são… acho q to ficando loko…

[quote]C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:88: cannot find symbol
symbol : class ByteInputStream
location: class MigracaoOra
ByteInputStream in = new ByteInputStream(imgBytes,0);
^
C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:88: cannot find symbol
symbol : class ByteInputStream
location: class MigracaoOra
ByteInputStream in = new ByteInputStream(imgBytes,0);
^
C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:89: cannot find symbol
symbol : class Image
location: class MigracaoOra
Image image = Toolkit.getDefaultToolkit().createImage(imgBytes);
^
C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:89: cannot find symbol
symbol : variable Toolkit
location: class MigracaoOra
Image image = Toolkit.getDefaultToolkit().createImage(imgBytes);
^
C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:90: cannot find symbol
symbol : class BufferedImage
location: class MigracaoOra
BufferedImage bi = new BufferedImage(320, 240,BufferedImage.TYPE_INT_RGB);
^
C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:90: cannot find symbol
symbol : class BufferedImage
location: class MigracaoOra
BufferedImage bi = new BufferedImage(320, 240,BufferedImage.TYPE_INT_RGB);
^
C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:90: cannot find symbol
symbol : variable BufferedImage
location: class MigracaoOra
BufferedImage bi = new BufferedImage(320, 240,BufferedImage.TYPE_INT_RGB);
^
C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:91: cannot find symbol
symbol : class Graphics2D
location: class MigracaoOra
Graphics2D g = bi.createGraphics();
^
8 errors[/quote]

Aqui meus imports: (todos eles)

[quote]import java.io.*;
import java.sql.ResultSet;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.ImageIcon;
import javax.imageio.ImageIO;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;[/quote]

Valeu!

ai vai os meus:

[code]import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.Transparency;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.imageio.ImageIO;
import javax.imageio.stream.ImageInputStream;
import javax.swing.ImageIcon;

import org.postgresql.*;
import org.postgresql.largeobject.LargeObject;
import org.postgresql.largeobject.LargeObjectManager;

import com.sun.xml.internal.messaging.saaj.util.ByteInputStream;[/code]

onde eu baixo esse… ainda não achei! (ou ele já vem por padrão?!)

com.sun.xml.internal.messaging.saaj.util.ByteInputStream;

?

valeu!

é default…esta no rt.jar

jdk 6

esse problema foi bom, porque me fez ver que minhas libs tavam todas no lugar errado… hehehehe…

o java se atualizou sozinho e deu porcaria…

bom, vou ajeitar tudo então… dps digo o que deu…

falta só este erro agora:

[quote]C:\Projetos\Testes gerais\Oracle\MigracaoOra.java:125: cannot find symbol
symbol : method toBufferedImage(java.awt.Image)
location: class MigracaoOra
ImageIO.write(toBufferedImage(image), “jpg”, fi);
^
1 error[/quote]

mas deve ser a mesma coisa do outro… só achar o jar e colocar no lugar certo… hehehhe

ops…falha minha

ai esta!

http://www.exampledepot.com/egs/java.awt.image/Image2Buf.html

bom, consegui fazer funcionar o lance, porém, não resolveu meu problema… hehehehe

não consegui tirar as imagens do oracle(que foram cadastradas via delphi)…

vou tentar outra coisa…

valeu mesmo assim!

vc tem de ver se sua imagem não foi convertida em alguma coisa antes de ser inserida…
no meu caso fiz tudo em java…e foi tudo em byte mesmo
ja vi em alguns casos a imagem é convertido em octal

hum… interessante… octal seria “8fy3209ghq109eu7f0923”? algo desse tipo?!

pode até ser viu…
mas é como nadar de olho fechado…
eu uso postgresql e tem o EMS que vc pode ver as imagens, ve se vc nun tem isso para o oracle