slopal escribiste:(en realidad lo que quiero es "dividir" esa imagen en 10 partes, y según la que se pulse, volver a generar una imagen de esa parte, pero a escala más grande, como una especie de zoom).
Para hacer la imagen pinchable por zonas tienes que hacer un mapa.
Hay dos soluciones, del lado del cliente, para saber en qué punto el usuario pincha la imagen.
La primera se basa en hacer un mapa HTML, dividida por zonas y la segunda consiste en recibir las coordenadas 'x' e 'y' del punto de la imagen pinchado.
En la primera solución, lo que primero haces, en el código HTML, creas un mapa de la siguiente forma:
Using html4strict Syntax Highlighting
<map name="mimapa">
<area shape="rect" coords=" 0, 0, 7, 7" href="/cgi-bin/zoom.pl?zona=1">
<area shape="rect" coords=" 8, 0,15, 7" href="/cgi-bin/zoom.pl?zona=2">
<area shape="rect" coords="16, 0,23, 7" href="/cgi-bin/zoom.pl?zona=3">
<area shape="rect" coords="24, 0,31, 7" href="/cgi-bin/zoom.pl?zona=4">
<area shape="rect" coords="32, 0,39, 7" href="/cgi-bin/zoom.pl?zona=5">
<area shape="rect" coords="40, 0,47, 7" href="/cgi-bin/zoom.pl?zona=6">
</map>
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Luego, en la marca de la imagen pones la referencia a ese mapa, con
usemap:
Using html4strict Syntax Highlighting
<img src="zoom.gif" width="48" height="8" border="0" usemap="#mimapa" vspace="0" hspace="0">
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Todo este código lo puedes generar con tus programas, desde luego. Y si el mapa siempre es el mismo, lo guardas en el servidor web y en
usemap pones el URI al mapa.
Otra forma es recibiendo las coordenadas 'x' e 'y' del pixel pulsado. Luego, en tu programa, tendrás que hacer unas cuentas para saber qué zona tendrás que ampliar.
Para esta solución, tienes que hacer un <form> dentro de la página. Algo así:
Using html4strict Syntax Highlighting
<form action="... tu cgi ..." method="POST">
<input name="area" type="image" src="imagen.gif" alt="Zoom de la imagen">
</form>
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Cuando el usuario pulse sobre esa imagen, recibirás en tu cgi dos parámetros:
area.x y
area.y, con las coordenadas.
En esta solución también se puede agregar un mapa HTML, como en la solución primera.
Una tercera solución consiste en hacer el mapa en el lado del servidor.
Se puede hacer algo así:
<a href="http://tudominio.com/cgi-bin/zoom.pl"><img src="imagen.gif" ismap alt="Zoom de la imagen"></a>El resultado es que cuando el usuario pulse en la imagen, el navegador estará llamando a
http://tudominio.com/cgi-bin/zoom.pl?122,32, siendo las dos últimas cifras las coordenadas 'x' e 'y' del punto pulsado.
Mapas desde el lado del clienteMapas desde el lado del servidorTipos de controles de entrada de datos en un form