HacheMuda

Blog personal sobre tecnologías web, WordPress… y lo demás.

Mapas de imagen con el Gimp

Hoy en los foros de Gimp-Es, el usuario Mr. Reivaj ha preguntado acerca de los mapas de imagen, algo que he visto en alguna ocasión pero que nunca se me había ocurrido pensar en cómo se hacen. Manos a la obra, he hecho algunas pruebas y es realmente sencillo crear tus propios mapas de imágenes.

Para verlo, pongo un ejemplo de una página con una imagen normal y corriente en formato JPG. Al pasar el ratón sobre el logo de Firefox, dicho logo se ilumina y aparece un letrerito con el nombre del programa. Y lo mismo con el logo de Ubuntu, el del Gimp y el texto de HacheMuda.Com. Al hacer click sobre cualquiera de ellos, se va a su correspondiente página web.

Haz click sobre la imagen para ver el ejemplo:

¿Cómo se hace?


  1. Abre tu imagen en el Gimp y vete a Filtros -> Web -> Mapa de imagen. Se abre una nueva ventana con un nuevo editor. Es muy sencillo de usar, tan sólo tienes que seleccionar una zona con una de las herramientas de la izquierda (rectángulos, círculos o polígonos).
  2. Ve haciendo clicks para crear los nodos de tu selección y en el último haz un doble click. Se abrirá entonces una nueva ventana en la que puedes seleccionar el tipo de enlace (sitio web, correo, ftp…) y poner la dirección de internet a la que quieres que se dirija el navegador al pulsar sobre esa zona de la imagen.
  3. Una vez le das a aceptar, te crea una entrada para esa zona recién seleccionada en la pila de selecciones, que está a la derecha de la ventana, debajo del título Selección. Para editarla, sólo tendrás que seleccionarla de ahí y darle al iconito de editar. Ya puedes crear más zonas diferentes, con sus propios enlaces, y se van agregando a la pila de selecciones.
  4. Cuando ya tengas todas las zonas creadas y sus correspondientes enlaces, ve a File -> Save as y guárdalo con el nombre que tú quieras, mapaImagen.html en mi caso. Ya puedes abrir ese fichero con tu navegador preferido y comprobar que funciona.
  5. Por supuesto, puedes editar ese fichero HTML y tratarlo como una página web con una imagen en su interior, añadirle los tags de <html>, <body>, <head>, <title>

Para conseguir los efectos del ejemplo que he puesto, tienes que añadir el código javascript necesario en el fichero HTML que acabas de crear con el editor de mapas de imagen del Gimp. Tendrás que crear una función que cambie de una imagen a otra, y así en cada una de las regiones que has creado decirle que cambie la imagen de fondo al pasar el ratón por encima.

Es sencillo, así que lo mejor es que te descargues el código que he usado yo y así lo verás más fácilmente. Modifícalo, cambia las imágenes, los efectos, añade cosas…

Descarga el código del mapa de imagen

 

21 comentarios

Cesarius

Excelente… algo que de verdad necesitaba aprender… esperamos el Screencast!!!

Excelente trabajo

Responder
Guillermo

Muchas gracias, Cesarius. A ver si llega el screencast, que está en el horno, :)

Responder
amuchamu

¡Qué bien queda!

Yo uso otro método, sólo con html+css se puede hacer. De hecho había pensado en hacer un minitutorial, pero ahora no tengo tiempo, lo tengo apuntado en la lista :P

Te lo explico por encima, es muy simple, sólo haces un div (u otro elemento) de tamaño X*Y y con una id o clase cualquiera, y haces una imagen de tamaño 2X*Y, en la parte izquierda de la imagen el dibujo en reposo y en la parte derecha el dibujo que saldrá cuando pongas el ratón encima.

Ya con css sólo tienes que decirle que tenga de fondo la parte izquierda de la imagen y con el ratón encima la parte derecha (a ver si sale el código):

#lalala{
background: url(laimagen.png) left;
width: Xpx;
height: Ypx;
}

#lalala:hover{
background-position: right;
}

He comprobado que funciona con firefox, opera e internet explorer (bajo wine). Tiene la ventaja de no necesitar javascript y no usar 2 imágenes, sólo una, pero creo que no puede dar tan buen resultado como el que has explicado.

Un saludo y siento mis larrrrgos comentarios :$

Responder
Guillermo

Amuchamu: pues habrá que probar ese método con CSS exclusivamente, a la espera de un tutorial desde Amuchamu.Com, ;) Parece que tiene que funcionar igual de bien…

Responder
javielinux

iba a escribir eso yop!

Tendrías que hacer una precarga de imágenes para que no tarde al hacer el cambio. No hace falta que lo pongas en el onload. Cambia el codigo del script

….
img1=new Image();
img1.src=”./ejemploMapaImagenFirefoxIluminado.jpg”;
img2=new Image();
img2.src=”./ejemploMapaImagenUbuntuIluminado.jpg”;
img3=new Image();
img3.src=”./ejemploMapaImagenHacheMudaIluminado.jpg”;
img4=new Image();
img4.src=”./ejemploMapaImagenGimpIluminado.jpg”;

function hover_imagen(img,ref) {
document.images[img].src=ref
};

function out_imagen(img,ref) {
document.images[img].src=ref
};
…..

debería de funcionar. Lo del hover que comenta amuchamu creo que no funciona con IE6, no se si funciona con IE7. El hover en IE6 sólo funciona en los enlaces (), o a mi no me ha funciocinado nunca

un saludo y buen tuto

Responder
yop!

tarda porke tendrás k cargar las imagenes

onload = "cargarImagenes()";

k haga algo asi…
imagen= new Image();
imagen.src="RutaDeLaImagen";

saludetes!

Responder
Guillermo

Javielinux: tienes razón, en este caso sería mejor precargar las imágenes para que luego no tarde al hacer el efecto la primera vez. En otros casos podría ser más interesante lo contrario, para que no tarde más en cargarse la página, depende de la situación…

¡Ahora mismo cambio el script!

Responder
Carlos

Gracias por el tutorial, mola, mola :)

Responder
estelar

hola,lamento mi ignorancia,pero e seguido el tutorial pero cundo lo guardo no se carga,osea no aparece la imagen en mi documentacion.
pueden ayudarme por fabor ya que de verdad nececito hacer esto,par aun trabajito
por fa

Responder
estelar

solo me que do en el paso 4 para editarlo alli me piedo y no me sale.

Responder
Guillermo

Hola Estelar, si quieres mándame un mail con lo que has intentado y dónde te quedas, a ver si puedo echarte un cable, :)

Responder
estelar

hice lo mismo con las tres magenes.

Responder
estelar

hola quise poner las figurs y no me lo permitio.te lo pongo en la web ok

Responder
estelar

hola,soy estelar,mira lo que hice fue lo siguiente:
hice un logo y me fui a web,elegi el cuadrado y arrastre el mouse por la cara de la primera figura una chica,se formo unas lineas azules y al darle doble clik me abrio una puerta de alli elegi web y abajo puse mi pagina web y le di a ok.
y la informacion se fue al lado derecho,lo mismno hice con las otras tres caras eligiendo el circuoo para uno y el poligono irregular para el otro,te muestro las fotos para que lo veas ok? http://i144.photobucket.com/albums/r176/estelar_2…
http://i144.photobucket.com/albums/r176/estelar_2… http://i144.photobucket.com/albums/r176/estelar_2… http://i144.photobucket.com/albums/r176/estelar_2… http://i144.photobucket.com/albums/r176/estelar_2… http://i144.photobucket.com/albums/r176/estelar_2…

tu dijistes que debo seleccionar y lo que hice fue irme a edit y seleccionar todo y vi que seleccione todo lo de la parte derecha,lo guarde en mi documentacion y esto e slo que me salio. http://i144.photobucket.com/albums/r176/estelar_2…

yo no se que hice mal?
otra cosa sobre javascipt la verdad que no se mucho pero no s esi podrias darme un tutorial par apoder poner esos destellos pero si no podeis no te preocupes lo que me interesa es este tutorial.espero tu respuesta.
cuidate
bye

Responder
Guillermo

Estelar: una vez que tengas las tres figuras creadas sobre la imagen (en la ventanita de la derecha), el círculo, el cuadrado y la poligonal, lo único que tienes que hacer es decirle File -> Save as y el nombre del fichero que le des tiene que tener extensión .html, porque no te está creando una imagen sino un fichero en HTML. Creo que es ahí donde te estás liando…

Responder
Guillermo

Estelar: ese fichero HTML que te crea, es simplemente un tag para que te muestre la imagen sobre la que has hecho el mapa de imagen, y después marca las zonas que has seleccionado dentro de esa imagen para que al pasar el ratón por encima cambie el cursor (o lo que sea). Tienes que tener el fichero HTML y la imagen sobre la que lo has creado guardados en el mismo directorio, o si quieres que estén en diferentes sitios deberás editar el fichero HTML con un editor de textos y cambiarle la ruta de la imagen…

Responder
Joaquin

Si tienes tiempo podrias hacer un video tutorial ?^^. Vi ya los de video tutoriales de Gimp y aprendi muchisimo!!, pero me gustarian mas :), y mas sobre este tema.

saludos y gracias por los tutos ^^

Responder
arsoK

Hola,
yo estoy siguiendo el mapeado con el Gimp, y gugleando os he encontrado. La ocsa es que ya me he quedao con las ganas de ver el script ese y parece que los permisos de la web están cerrados.
Bueno, nada más.
Muchas gracias.

Responder
Steven

Gracias, me ha sido util.

Responder
sisol

quisiera poner una imagen en movimiento
que da la bienvenida con la mano para que se mueva de arriba a bajo como lo puedo hacer en gimp

Responder
Epifanio

Buenas tardes, tengo un pequeño atasque, he seguido todos los pasos que comentan en el artículo, y he conseguido el archivo con la extensión html. Ahora……… mi intención es subirlo a una pestaña fbml que tengo en mi pagina de facebook, ¿Cómo consigo esto?, si esto no es posible, podria subirlo a una entrada de blogger……………… saludos y gracicas…

Responder

Deja tu comentario

1 enlaces desde otras páginas: