visualizar imagenes
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
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
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
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
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
Gracias
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
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
