Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/10/2009, 10:22
segma
 
Fecha de Ingreso: diciembre-2004
Mensajes: 296
Antigüedad: 19 años, 4 meses
Puntos: 1
Respuesta: Problema con generar thumbs con php

Hola, gracias por contestar:
jam1138 lo del eco es para saber si entra o no en la función, pero no jode el proceso.

nx00: de lijo probare esta clase que tiene muy buena pinta,

Al final lo solucioné con este código


Código PHP:
function thumbjpeg($imagen,$anchura) {
        
        
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
        
        
$dir_thumb "tmb/";
        
        
// 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"
        
        
        
$camino_nombre=explode("/",$imagen);
        
        
// Aquí tendremos el nombre de la imagen.
        
$nombre=end($camino_nombre);
        
        
// Aquí la ruta especificada para buscar la imagen.
        
$camino=substr($imagen,0,strlen($imagen)-strlen($nombre));
        
        
// Intentamos crear el directorio de thumbnails, si no existiera previamente.
        
        //if (!file_exists($camino.$dir_thumb))
        //mkdir ($camino.$dir_thumb, 0777) or die("No se ha podido crear el directorio $dir_thumb");
        
        // Aquí comprovamos que la imagen que queremos crear no exista previamente
        
if (!file_exists($camino.$dir_thumb.$nombre)) {
        
            echo 
$camino.$dir_thumb.$nombre." NO existía<br>";
            
            
$img imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>");
            
            
// 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[0] / $anchura);
            
$altura round($datos[1] / $ratio);
            
            
// esta será la nueva imagen reescalada
            
            
            //$x_cropw = $datos[0] + 100;
            
            
if($altura>67){
            
                
$altura 67;
            
            }
            
            
$thumb imagecreatetruecolor($anchura,$altura);
            
            
//$y_cropw = $datos[1] + 67;
                        
            // 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.
            
imagejpeg($thumb,$camino.$dir_thumb.$nombre,100);
        }

__________________
Visitar:
www.vinosyrecetas.com
www.galerias-arte.com