Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/09/2010, 17:56
LscaGonzalo
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 17 años, 3 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_s, 0, 0, 0, 0, $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_s, 0, 0, 0, 0, $width_d, $height_d, $width_s, $height_s); // redimensiona 
Y si no pongo ese parametro me manda error. Espero que me puedan ayudar. Gracias.