Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/09/2010, 17:56
LscaGonzalo
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 15 años, 6 meses
Puntos: 0
Tamaño proporcional thumbnail

Saludos a todos

Al crear un thumbnail quiero poner solo el width (ancho) y que el height (alto) sea proporcional para que no se deforme la imagen, mi cpodigo es el siguiente:

Código PHP:
<?php
      $status 
"";
      (
$_POST["action"] == "upload") or die ("Error al subir la imagen.");
          
// obtenemos los datos del archivo
          
$tamano $_FILES["archivo"]['size'];
          
$tipo $_FILES["archivo"]['type'];
          
$archivo $_FILES["archivo"]['name'];
          
$prefijo substr(md5(uniqid(rand())),0,6);
         
          
            (
$archivo != "") or die ("Error al subir la imagen ".$archivo);
              
// guardamos el archivo a la carpeta "capturas"
            
($tipo == "image/jpeg" || $tipo == "image/jpg") or die ("Sólo se admiten imágenes en <b>.jpg</b> y <b>.jpeg</b>");
              
$destino =  "capturas/".$prefijo."_".$archivo;
            (
copy($_FILES['archivo']['tmp_name'],$destino)) or die ("Error al subir la imagen ".$archivo);
              
$status "La imagen <b>".$archivo."</b> se a subido correctamente !";
              echo 
$status;
         
//aquí empieza el código de creación del thumbnail
          
$source=$destino// archivo de origen
          
$dest="capturas/thumb/tb_".$archivo// archivo de destino
          
$width_d=117// ancho de salida
          
$height_d=82// alto de salida

            
list($width_s$height_s$type$attr) = getimagesize($source$info2); // obtengo información del archivo
          
$gd_s imagecreatefromjpeg($source); // crea el recurso gd para el origen
          
$gd_d imagecreatetruecolor($width_d$height_d); // crea el recurso gd para la salida

            
imagecopyresampled($gd_d$gd_s0000$width_d$height_d$width_s$height_s); // redimensiona
            
imagejpeg($gd_d$dest); // graba
        
        // Se liberan recursos
        
imagedestroy($gd_s);
        
imagedestroy($gd_d);

?>
Lo saque del siguiente tema:
http://www.forosdelweb.com/f18/subir-imagen-crear-thumbnail-mismo-script-527958/

En el codigo anterior tengo que especificar el alto tambien
Código PHP:
  imagecopyresampled($gd_d$gd_s0000$width_d$height_d$width_s$height_s); // redimensiona 
Y si no pongo ese parametro me manda error. Espero que me puedan ayudar. Gracias.