Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > J2ME (Java para móviles) > visualizar imagenes
-Foros de debate

J2ME (Java para móviles)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

visualizar imagenes
Enviado por enemari el día 3 de enero de 2008

Hola:
Me gustaria poder visualizar una foto cualquiera en el simulador del movil de netbeans. Para ello, quiero acceder a la Base de datos (donde esta la foto) desde un servlet, y mandar esta foto al midlet para asi poder visualizarla en el movil. Como hacerlo?

Gracias!r

 
Re: visualizar imagenes
Enviado por kekomal el día 9 de enero de 2008

Básicamente:

SERVLET:
En función de los parámetros de la request, construye la query o invoca el procedimiento almacenado correspondiente para acceder a la imagen deseada en la base de datos y saca esta al OutputStream, no sin antes especificar el Content-Type correspondiente ("image/gif", por ejemplo).

MIDLET
1. Conexión al servlet: HttpConnection conn = (HttpConnection) Connector.open(url, Connector.READ_WRITE); ...etc...

2. Convertir el InputStream correspondiente a un objeto Image: Image img = Image.createImage(is);

3. Pintar la imagen en el paint() del Canvas correspondiente y forzar el repintado.

4. No olvidarse de cerrar los recursos (Streams, conexiones, etc.).

Si tienes alguna duda más concreta, sé más específic@.

Un saludo

 
Re: Re: visualizar imagenes
Enviado por enemari el día 9 de enero de 2008

Muchas gracias por tu respuesta. Me he informado en libros y leido como que hay que pasar la foto a un array de bytes. ¿Debo hacer esto con la solucion que me has dado tu del paint?
Gracias

 
Re: Re: Re: visualizar imagenes
Enviado por kekomal el día 9 de enero de 2008

Probablemente a lo que te refieres es que el servlet para enviar la imagen hace falta serializar la imagen, algo así como (siendo data un array de bytes que probablemente hayas obtenido de la base de datos donde la imagen estaría guardada como un dato tipo BLOB o algo así):

OutputStream os= con.openOutputStream();
os.write(data);
os.flush();

Para deserializarlo en el midlet, basta con hacer el Image img = Image.createImage(is); que te comenté.

Una vez ya tienes el objeto Image, en el paint del Canvas correspondiente basta con hacer un g.drawImage(img, x, y, anchor);

Un saludo

 




Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network