Ver Mensaje Individual
  #17 (permalink)  
Antiguo 11/04/2004, 19:29
mbaz
 
Fecha de Ingreso: abril-2004
Mensajes: 20
Antigüedad: 20 años
Puntos: 0
ARCHIVO RECENTER5.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" name="Operacion" value="Zoom Out">Zoom Out <br clear=left> <br clear=left>
<input type="radio" checked 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="generarecenter5.php?x5_global=<? echo ($x5_origen + floor($click_x / (32 * $factor))) ?>&y5_global=<? echo ($y5_origen + floor($click_y / (32 * $factor))) ?>" ALIGN="RIGHT" WIDTH="<? echo $x_imagen?>" HEIGHT="<? echo $y_imagen?>" NAME="mapa">
</td>
</tr>
</table>
</form>

ARCHIVO GENERARECENTER1.PHP
<?php
session_register("x1_origen");
session_register("y1_origen");

Header( "Content-type: image/jpeg");

$x1_origen = $x1_global - ($x1_zoom / 2);
$y1_origen = $y1_global - ($y1_zoom / 2);

if ($x1_origen <= 0)
{
$x1_origen = 0;
}
if ($y1_origen <= 0)
{
$y1_origen = 0;
}
if ($x1_origen >= $x_real - $x1_zoom)
{
$x1_origen = floor($x_real / 2);
}
if ($y1_origen >= $y_real - $y1_zoom)
{
$y1_origen = floor($y_real / 2);
}

$Imagen_Zoom=ImageCreateFromGd2Part("Mdeo_1000x724 .gd2", $x1_origen, $y1_origen, $x1_zoom, $y1_zoom);
ImageJpeg($Imagen_Zoom);
ImageDestroy($Imagen_Zoom);
?>

ARCHIVO GENERARECENTER2.PHP
<?php
session_register("x2_origen");
session_register("y2_origen");

Header( "Content-type: image/jpeg");

$x2_origen = $x2_global - ($x2_zoom / 2);
$y2_origen = $y2_global - ($y2_zoom / 2);

if ($x2_origen <= 0)
{
$x2_origen = 0;
}
if ($y2_origen <= 0)
{
$y2_origen = 0;
}
if ($x2_origen >= $x_real - $x2_zoom)
{
$x2_origen = $x_real - floor($x_real / 4);
}
if ($y2_origen >= $y_real - $y2_zoom)
{
$y2_origen = $y_real - floor($y_real / 4);
}

$Imagen_Zoom=ImageCreateFromGd2Part("Mdeo_1000x724 .gd2", $x2_origen, $y2_origen, $x2_zoom, $y2_zoom);
ImageJpeg($Imagen_Zoom);
ImageDestroy($Imagen_Zoom);
?>

ARCHIVO GENERARECENTER3.PHP
<?php
session_register("x3_origen");
session_register("y3_origen");

Header( "Content-type: image/jpeg");

$x3_origen = $x3_global - ($x3_zoom / 2);
$y3_origen = $y3_global - ($y3_zoom / 2);

if ($x3_origen <= 0)
{
$x3_origen = 0;
}
if ($y3_origen <= 0)
{
$y3_origen = 0;
}
if ($x3_origen >= $x_real - $x3_zoom)
{
$x3_origen = $x_real - floor($x_real / 8);
}
if ($y3_origen >= $y_real - $y3_zoom)
{
$y3_origen = $y_real - floor($y_real / 8);
}

$Imagen_Zoom=ImageCreateFromGd2Part("Mdeo_100.gd2" , $factor_mapa*$x3_origen, $factor_mapa*$y3_origen, $factor_mapa*$x3_zoom, $factor_mapa*$y3_zoom);
ImageJpeg($Imagen_Zoom);
ImageDestroy($Imagen_Zoom);
?>

ARCHIVO GENERARECENTER4.PHP
<?php
session_register("x4_origen");
session_register("y4_origen");

Header( "Content-type: image/jpeg");

$x4_origen = $x4_global - ($x4_zoom / 2);
$y4_origen = $y4_global - ($y4_zoom / 2);

if ($x4_origen <= 0)
{
$x4_origen = 0;
}
if ($y4_origen <= 0)
{
$y4_origen = 0;
}
if ($x4_origen >= $x_real - $x4_zoom)
{
$x4_origen = $x_real - floor($x_real / 16);
}
if ($y4_origen >= $y_real - $y4_zoom)
{
$y4_origen = $y_real - floor($y_real / 16);
}

$Imagen_Zoom=ImageCreateFromGd2Part("Mdeo_100.gd2" , $factor_mapa*$x4_origen, $factor_mapa*$y4_origen, $factor_mapa*$x4_zoom, $factor_mapa*$y4_zoom);
ImageJpeg($Imagen_Zoom);
ImageDestroy($Imagen_Zoom);
?>

ARCHIVO GENERARECENTER5.PHP
<?php
session_register("x5_origen");
session_register("y5_origen");

Header( "Content-type: image/jpeg");

$x5_origen = $x5_global - ($x5_zoom / 2);
$y5_origen = $y5_global - ($y5_zoom / 2);

if ($x5_origen <= 0)
{
$x5_origen = 0;
}
if ($y5_origen <= 0)
{
$y5_origen = 0;
}
if ($x5_origen >= $x_real - $x5_zoom)
{
$x5_origen = $x_real - floor($x_real / 32);
}
if ($y5_origen >= $y_real - $y5_zoom)
{
$y5_origen = $y_real - floor($y_real / 32);
}

$Imagen_Zoom=ImageCreateFromGd2Part("Mdeo_100.gd2" , $factor_mapa*$x5_origen, $factor_mapa*$y5_origen, $factor_mapa*$x5_zoom, $factor_mapa*$y5_zoom);
ImageJpeg($Imagen_Zoom);
ImageDestroy($Imagen_Zoom);
?>

ARCHIVO SALIR.PHP
Fin



Bueno, este es el fin de tanto codigo.
Pensando en el uso que le puedan dar, esto estaba pensado originalmente para realizar zooms sobre un mapa geografico, por lo que en realidad, pueden usar la imagen que deseen, siempre y cuando cambien el tamaño original de la misma en las variables $x_real y $y_real.
La idea es que tengan 2 archivos con la misma imagen, con resoluciones diferentes, asi cuando necesiten un zoom in de buena calidad puedan usar la que tiene mejor resolucion.
Entonces deberan definir nuevamente en zoom3.php las variables $x_real y $y_real respecto a la imagen de mayor tamaño.
Para pasar las imagenes a formato gd2 les recomiendo bajarse el zip que ofrecen en www.boutell.com/gd, para Windows (dll Windows). Dentro de ese zip hay un archivo que se llama pngtogd2.exe. Este archivo les convierte el formato de imagen PNG a un formato interno de las librerias de GD llamado GD2, el cual consume mucha menos RAM que los PNG o JPG.
La sintaxis a usar es:

pngtogd2.exe Arch_png.png Arch_gd2.gd2 256 1

El 256 no se que miercoles es, pero viene recomendado por el mismo Boutell, asi que no lo toquen. El 1 indica si quieren la imagen comprimida o no (1 = No Comprimida).

Bueno, creo que mas nada. Cualquier duda ya saben, escriben por aca o a [email protected].

De nuevo, gracias por la ayuda brindada y por contestar tan rapido!

Un abrazo a todos!

Marcelo.