Foros del Web » Programación para mayores de 30 ;) » Java »

Orientacion sobre cargar imagen de campo blob en jpane

Estas en el tema de Orientacion sobre cargar imagen de campo blob en jpane en el foro de Java en Foros del Web. Hola que tal bien dia , tengo un form donde tengo un jpane en el cual mediante un jfilechooser selecciono una imagen y la muestro ...
  #1 (permalink)  
Antiguo 18/05/2012, 18:03
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
Pregunta Orientacion sobre cargar imagen de campo blob en jpane

Hola que tal bien dia , tengo un form donde tengo un jpane en el cual mediante un jfilechooser selecciono una imagen y la muestro en un jpane , con otro boton guardo la imagen en un campo , necesito orientacion sobre como al dar click en un jtable este me muestre la imagen que tiene en el campo blob , la consulta de seleccion no tengo problema , solo que no se como extraer el blob del resultset y mostrarlo en el jpane de antemano agradesco la ayuda .
  #2 (permalink)  
Antiguo 20/05/2012, 00:25
Avatar de liloo6retug  
Fecha de Ingreso: junio-2010
Ubicación: Marsella
Mensajes: 109
Antigüedad: 13 años, 10 meses
Puntos: 11
Respuesta: Orientacion sobre cargar imagen de campo blob en jpane

PODRIAS REVISAR ESTO:
http://jc-mouse.blogspot.com/2009/12...mysql-con.html
  #3 (permalink)  
Antiguo 26/05/2012, 13:50
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
Respuesta: Orientacion sobre cargar imagen de campo blob en jpane

gracias liloo , debido a que no podia entender o adaptar el codigo a el jpane tuve que adaptarlo a un jlabel

posteo el codigo por si a alguien le sirve tambien , ojo al obtener la imagen esta no se redimensiona por lo cual no se adaptara al jlabel , pero eso lo solucione con otro codigo que pondre al final
declaro estos dos valores globales
Image data;
String Id;


primero llamo a la funcion cargar imagen en el evento click de mi data grid pasando el valor al string id que tengo declarado en global a uno , ahy mismo recibo el return de la imagen y establesco el icon resultante a mi jlabel

Id = "1";
Image dtCat = CargarImagen();
Icon icon = new ImageIcon(dtCat);
lblImagen.setIcon(icon);

a continuacion pongo las funciones necesarias
public Image CargarImagen(){
ConexionMySQL Mysql = new ConexionMySQL();
Connection cn = Mysql.Conectar();
try{
PreparedStatement pstImagen = cn.prepareStatement("Select IMAGEN as IMAGEN from IMAGENESART where ID ='" + Id + "'");
ResultSet rsImagen = pstImagen.executeQuery();
int i = 0;
while(rsImagen.next()){
byte[] b = rsImagen.getBytes("IMAGEN");
data = ConvertirImagen(b);
i++;
}
rsImagen.close();
}
catch(IOException IOex){
JOptionPane.showMessageDialog(null,IOex);
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null,ex);
}
return data;
}

en estas hago una consulta a la base de datos y a traves del resultset obtengo el campo blob en bytes y paso el arreglo a una imagen declarada como data que pasa a la funcion convertirimagen

public Image ConvertirImagen(byte[] bytes)throws IOException{
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
Iterator readers = ImageIO.getImageReadersByFormatName("jpeg");
ImageReader reader = (ImageReader) readers.next();
Object source = bis; // File or InputStream
ImageInputStream iis = ImageIO.createImageInputStream(source);
reader.setInput(iis, true);
ImageReadParam param = reader.getDefaultReadParam();
return reader.read(0, param);


}
y el resultado retorna y prosigue a establecer la imagen en el jlabel , listoooo

ahora si quieren redimensionar la imagen del jlabel a la medida paso el siguiente codigo sustituyendo esto
Id = "1";
Image dtCat = CargarImagen();
Icon icon = new ImageIcon(dtCat);
lblImagen.setIcon(icon);
por esto
Id = "1";
Image dtCat = CargarImagen();
Icon icon = new ImageIcon(dtCat);
Image img = icon.getImage();
Image newimg = img.getScaledInstance(291,226,java.awt.Image.SCALE _SMOOTH);
ImageIcon newIcon = new ImageIcon(newimg);
lblImagen.setIcon(newIcon);

esto me retorna la imagen escalada en una dimension de 291 x 226 . las medidas pueden ser ajustadas a la necesidad del jlabel suerte y espero le sea de ayuda a alguien mas , se agradece karma x cierto jaja salu2

Etiquetas: blob, image, jpane, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:54.