Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2006, 09:34
Avatar de AbdelioR
AbdelioR
 
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Mostrar thumbnail sin tener que guardarlo

Hola, he visto un script en este mismo foro para crear thumbnails y guardarlos en el servidor. Mi pregunta es como acomodar el código para no tener que guardar la imagen generada, y mostrarla directamente en la web.

El script que tengo es este:

Código PHP:

<?php 

        $imagen 
=  $_GET["imagen"];
    
$altura =  $_GET["altura"];
    
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
     
$dir_thumb "thumbs/";
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
     // el thumbnail se llamaría "tn_imagen1.jpg"
     
$prefijo_thumb "tn_";

     
// Aquí tendremos el nombre de la imagen.
     
$nombre=basename($imagen);
     
// Aquí la ruta especificada para buscar la imagen.
     
$camino=dirname($imagen)."/";

     
// Intentamos crear el directorio de thumbnails, si no existiera previamente.
     
if (!file_exists($camino.$dir_thumb))
          @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb);

     
// Aquí comprovamos que la imagen que queremos crear no exista previamente
     
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {
          echo 
$camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n";
          
$img = @imagecreatefrompng($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
          
// miramos el tamaño de la imagen original...
          
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");
          
// intentamos escalar la imagen original a la medida que nos interesa
          
$ratio = ($datos[1] / $altura);
          
$anchura round($datos[0] / $ratio);
          
// esta será la nueva imagen reescalada
          
$thumb imagecreatetruecolor($anchura,$altura);
          
// con esta función la reescalamos
          
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]);
          
// voilà la salvamos con el nombre y en el lugar que nos interesa.
          
imagepng($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
                
     }


?>

Coje la imagen y la guarda en una carpeta. Si quisieramos no guardarla y mostrarla nada mas generarla, como tendria que ser? He probado mirando otros ejemplos pero no lo he logrado

Muchas gracias