Ver Mensaje Individual
  #14 (permalink)  
Antiguo 11/04/2004, 19:11
mbaz
 
Fecha de Ingreso: abril-2004
Mensajes: 20
Antigüedad: 20 años
Puntos: 0
Bueno, aca va. Al final quedo bonito esto. Les cuento el orden de los archivos asi no se marean:

Archivo a cargar: zoom0.php
Este archivo carga una imagen llamada Mdeo_1000x724.gd2, la cual obviamente tiene una resolucion de 1000x724 pixels.

Los archivos zoom0.php, zoom1.php, zoom2.php, zoom3.php, zoom4.php y zoom5.php se encargan de realizar 5 niveles de zoom in seguidos, con una relacion x2, centrado en las coordenadas del click del mouse.

Los archivos zoomout1.php, zoomout2.php, zoomout3.php y zoomout4.php generan el zoom out a una escala x2, centrado en las coordenadas del click del mouse.

Los archivos recenter1.php, recenter2.php, recenter3.php, recenter4.php y recenter5.php centran la imagen en las coordenadas del click del mouse.

Los archivos generazoom0.php, generazoom1.php, generazoom2.php, generazoom3.php, generazoom4.php y generazoom5.php.php son los que usan las librerias de GD para generar la imagen acercada x2.

Los archivos generazoomout1.php, generazoomout2.php, generazoomout3.php y generazoomout4.php son los que usan las librerias de GD para generar la imagen alejada x2.

Los archivos generarecenter1.php, generarecenter2.php, generarecenter3.php, generarecenter4.php y generarecenter5.php son los que usan las librerias de GD para generar la imagen recentrada a la misma escala.

Por ultimo, los archivos opc_zoom0.php, opc_zoom1.php, opc_zoom2.php, opc_zoom3.php, opc_zoom4.php y opc_zoom5.php deciden que accion realizar en base a la seleccion entre zoom in, zoom out, recentrad y salir (el archivo salir.php no hace nada, solo muestra un "FIN").

Algo que debo aclarar es que del nivel de zoom2 al nivel de zoom3 dejo de usar el mapa Mdeo_1000x724.gd2 y paso a usar un mapa Mdeo_10000x7236.gd2, el cual es el que les comente al principio de toda esta consulta. el cambio es debido mas que nada para dar mas detalle al usuario al realizar acercamientos en escala x8 o superior.

Codigo:

ARCHIVO ZOOM0.PHP
<?
session_register("x_real");
session_register("y_real");
session_register("x_imagen");
session_register("y_imagen");
session_register("factor");

$x_real = 1000; // Ancho real en pixeles de la imagen original.
$y_real = 724; // Alto real en pixeles de la imagen original.
$factor = 0.7; // factor = x1_imagen / x_real = y1_imagen / y_real.
$x_imagen = floor($factor * $x_real); // Ancho en pantalla en pixeles de la imagen a mostrar.
$y_imagen = floor($factor * $y_real); // Alto en pantalla en pixeles de la imagen a mostrar.
?>

<body bgcolor="#000000"</body>
<FORM METHOD="POST" ACTION="opc_zoom0.php">

<table border="7" bgcolor="Silver" bordercolor="blue" align="center" cellspacing="2" cellpadding="6">
<tr>
<td>
Escoja Opcion: <br clear=left> <br clear=left>
<input type="radio" checked name="Operacion" value="Zoom In">Zoom In <br clear=left> <br clear=left>
<input type="radio" disabled name="Operacion" value="Zoom Out">Zoom Out <br clear=left> <br clear=left>
<input type="radio" disabled name="Operacion" value="Recenter">Recenter <br clear=left> <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Quit">Quit
</td>
<td>
<INPUT TYPE="IMAGE" SRC="generazoom0.php" ALIGN="RIGHT" WIDTH="<? echo $x_imagen ?>" HEIGHT="<? echo $y_imagen ?>" NAME="mapa">
</td>
</tr>
</table>
</FORM>

ARCHIVO ZOOM1.PHP
<?php
session_register("x1_zoom");
session_register("y1_zoom");
$x1_zoom = floor($x_real / 2);
$y1_zoom = floor($y_real / 2);
?>

<body bgcolor="#000000"</body>
<FORM METHOD="POST" ACTION="opc_zoom1.php">
<table border="7" bgcolor="Silver" bordercolor="blue" align="center" cellspacing="2" cellpadding="6">
<tr>
<td>
Escoja Opcion: <br clear=left> <br clear=left>
<input type="radio" checked name="Operacion" value="Zoom In">Zoom In <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Zoom Out">Zoom Out <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Recenter">Recenter <br clear=left> <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Quit">Quit
</td>
<td>
<INPUT TYPE="IMAGE" SRC="generazoom1.php?x1_global=<? echo floor($click_x / $factor)?>&y1_global=<? echo floor($click_y / $factor)?>" ALIGN="RIGHT" WIDTH="<? echo $x_imagen?>" HEIGHT="<? echo $y_imagen?>" NAME="mapa">
</td>
</tr>
</table>
</form>

ARCHIVO ZOOM2.PHP
<?php
session_register("x2_zoom");
session_register("y2_zoom");
$x2_zoom = floor($x_real / 4);
$y2_zoom = floor($y_real / 4);
?>

<body bgcolor="#000000"</body>
<FORM METHOD="POST" ACTION="opc_zoom2.php">
<table border="7" bgcolor="Silver" bordercolor="blue" align="center" cellspacing="2" cellpadding="6">
<tr>
<td>
Escoja Opcion: <br clear=left> <br clear=left>
<input type="radio" checked name="Operacion" value="Zoom In">Zoom In <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Zoom Out">Zoom Out <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Recenter">Recenter <br clear=left> <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Quit">Quit
</td>
<td>
<INPUT TYPE="IMAGE" SRC="generazoom2.php?x2_global=<? echo $x1_origen + floor($click_x / (2 * $factor))?>&y2_global=<? echo $y1_origen + floor($click_y / (2 * $factor))?>" ALIGN="RIGHT" WIDTH="<? echo $x_imagen?>" HEIGHT="<? echo $y_imagen?>" NAME="mapa">
</td>
</tr>
</table>
</form>

ARCHIVO ZOOM3.PHP
<?php
session_register("x3_zoom");
session_register("y3_zoom");
$x3_zoom = floor($x_real / 8);
$y3_zoom = floor($y_real / 8);
?>

<body bgcolor="#000000"</body>
<FORM METHOD="POST" ACTION="opc_zoom3.php">
<table border="7" bgcolor="Silver" bordercolor="blue" align="center" cellspacing="2" cellpadding="6">
<tr>
<td>
Escoja Opcion: <br clear=left> <br clear=left>
<input type="radio" checked name="Operacion" value="Zoom In">Zoom In <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Zoom Out">Zoom Out <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Recenter">Recenter <br clear=left> <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Quit">Quit
</td>
<td>
<INPUT TYPE="IMAGE" SRC="generazoom3.php?x3_global=<? echo $x2_origen + floor($click_x / (4 * $factor))?>&y3_global=<? echo $y2_origen + floor($click_y / (4 * $factor))?>" ALIGN="RIGHT" WIDTH="<? echo $x_imagen?>" HEIGHT="<? echo $y_imagen?>" NAME="mapa">
</td>
</tr>
</table>
</form>

ARCHIVO ZOOM4.PHP
<?php
session_register("x4_zoom");
session_register("y4_zoom");
$x4_zoom = floor($x_real / 16);
$y4_zoom = floor($y_real / 16);
?>

<body bgcolor="#000000"</body>
<FORM METHOD="POST" ACTION="opc_zoom4.php">
<table border="7" bgcolor="Silver" bordercolor="blue" align="center" cellspacing="2" cellpadding="6">
<tr>
<td>
Escoja Opcion: <br clear=left> <br clear=left>
<input type="radio" checked name="Operacion" value="Zoom In">Zoom In <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Zoom Out">Zoom Out <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Recenter">Recenter <br clear=left> <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Quit">Quit
</td>
<td>
<INPUT TYPE="IMAGE" SRC="generazoom4.php?x4_global=<? echo $x3_origen + floor($click_x / (8 * $factor))?>&y4_global=<? echo $y3_origen + floor($click_y / (8 * $factor))?>" ALIGN="RIGHT" WIDTH="<? echo $x_imagen?>" HEIGHT="<? echo $y_imagen?>" NAME="mapa">
</td>
</tr>
</table>
</form>

ARCHIVO ZOOM5.PHP
<?php
session_register("x5_zoom");
session_register("y5_zoom");
$x5_zoom = floor($x_real / 32);
$y5_zoom = floor($y_real / 32);
?>

<body bgcolor="#000000"</body>
<FORM METHOD="POST" ACTION="opc_zoom5.php">
<table border="7" bgcolor="Silver" bordercolor="blue" align="center" cellspacing="2" cellpadding="6">
<tr>
<td>
Escoja Opcion: <br clear=left> <br clear=left>
<input type="radio" disabled name="Operacion" value="Zoom In">Zoom In <br clear=left> <br clear=left>
<input type="radio" checked name="Operacion" value="Zoom Out">Zoom Out <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Recenter">Recenter <br clear=left> <br clear=left> <br clear=left>
<input type="radio" name="Operacion" value="Quit">Quit
</td>
<td>
<INPUT TYPE="IMAGE" SRC="generazoom5.php?x5_global=<? echo $x4_origen + floor($click_x / (16 * $factor))?>&y5_global=<? echo $y4_origen + floor($click_y / (16 * $factor))?>" ALIGN="RIGHT" WIDTH="<? echo $x_imagen?>" HEIGHT="<? echo $y_imagen?>" NAME="mapa">
</td>
</tr>
</table>
</form>