Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/10/2010, 11:22
mariomon17
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 6 meses
Puntos: 34
Respuesta: Redimensionar y cortar.

Mira el codigo que encontre
Código PHP:
Ver original
  1. <?php
  2. function thumbnail($img)
  3. {  
  4.     /* Opciones */
  5.     $tamano = 150;     // Tamano en pixel de la miniatura
  6.     $destino = "thumbs/thumb_"; // Lugar de destino y etiqueta inicial
  7.    
  8.     // Obtenemos...
  9.     // ...el directorio de la img
  10.     $imgv = explode('/', $img);
  11.     $sup = $imgv[0]."//".$imgv[2];
  12.     $archivo = $img;
  13.     // ...el nombre de la imagen
  14.     $resultado = array_pop($imgv);
  15.     // ...la extencion de la imagen
  16.     $ext = explode('.', $img);
  17.        
  18.     /* ¿Ha sido generada ya? */
  19.     if (!file_exists($destino.$resultado))
  20.     {
  21.         // Obtenemos el tamaño actual y
  22.         // calculamos fijamos el nuevo tamano y posicion
  23.         list ($ancho, $alto) = getimagesize($archivo);
  24.         if ($ancho>$alto) {
  25.             $new_alto = $tamano;
  26.             $new_ancho = ($ancho/$alto)*$new_alto;
  27.             $x = ($ancho-$alto)/2;
  28.             $y = 0;
  29.             }
  30.         else {
  31.             $new_ancho = $tamano;
  32.             $new_alto = ($alto/$ancho)*$new_ancho;
  33.             $y = ($alto-$ancho)/2;
  34.             $x = 0;
  35.             }
  36.        
  37.         /* Vamos a generar la miniatura */
  38.  
  39.             $origen = imagecreatefromjpeg($archivo);
  40.             $temp = imagecreatetruecolor($tamano, $tamano);
  41.             imagecopyresampled($temp, $origen, 0, 0, $x, $y, $new_ancho, $new_alto, $ancho, $alto);
  42.             imagejpeg($temp, $destino.$resultado, 90);
  43.             imagedestroy($temp);
  44.             imagedestroy($origen);
  45.  
  46. }
  47. ?>

Ahora bien, esto la corta ya pero es cuadrada, y yo a quiero para 108*88