Java - Cargar un archivo gif

 
Vista:

Cargar un archivo gif

Publicado por Juanma (8 intervenciones) el 12/05/2005 22:59:59
Hola a todos!!!!

Estoy creando un applet y tengo un problema: necesito cargar un fichero gif para luego pegar la imagen en un Canvas.
Lo que hago es:

URL direccion = getCodeBase();
Image img = getImage(direccion,"foto.gif");

El JBuilder no da problemas, pero al intentar ejecutar el applet me da un error de null invoking getCodeBase() o algo así, como si no encontrara la dirección.

- ¿Alguien podría decirme si me equivoco?
- ¿Se puede guardar la dirección en una clase que no sea URL?
- ¿Hay alguna forma mejor de poner una imagen gif dentro de un Canvas?

También tengo problemas depués cuando hago:

Image img2 = createImage(30,30);
Graphics gra = img2.getGraphics();

Me da un error de clase nula en la segunda sentencia.¿Por qué?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cargar un archivo gif

Publicado por ixor (6 intervenciones) el 13/05/2005 20:20:32
Nunca trabaje con canvas pero si he pegado imagenes a un JPanel o a un JLabel tal vez sea parecido.
Aca te mando el código que utilizo yo para cargar una imagen, tal vez te sirva de algo.
Primero copias el método que sigue aca abajo en la clase donde cargas la imagen y tenes que cambiarle donde dice NombreDeTuClase tenes que poner el nombre de la clase donde copiaste este método (tal cual como es, si tiene mayúsculas respetalas!):

protected static ImageIcon createImageIcon(String path, String description) {
java.net.URL imageURL = NombreDeTuClase.class.getResource(path);
if (imageURL == null) {
System.err.println("Resource not found: " + path);
return null;}
else {
return new ImageIcon(imageURL, description);
}
}

Después que pusiste el nombre de tu clase en el método anterior para cargar una imagen (a un JPanel o JLabel) tenes que escribir las siguiente líneas:

ImageIcon imag1 = createImageIcon("direccionImag", "descripcionImag");
JLabel label1 = new JLabel(imag1);

donde
direccionImag: es la direccion donde tenes guardada la imagen, por ejemplo, si la copias dentro de tu proyecto basta con que pongas el nombre de la imagen ("imag1.gif"), si la tenes en un directorio distinto tenes que escribir toda la direccion ("c:...")
y descripcionImag: es un nombre cualquiera que le pones a tu imagen para distinguirla.

Creo que con esto podrias solucionar lo de la URL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cargar un archivo gif

Publicado por Juanma (8 intervenciones) el 19/05/2005 16:08:42
Gracias. Ya lo he conseguido.

Todo se ha solucionado usando el método getResource() y usando mejor un JLabel en vez del Canvas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar