Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/03/2013, 14:47
eduardomxm
 
Fecha de Ingreso: abril-2010
Ubicación: Cancun
Mensajes: 88
Antigüedad: 14 años
Puntos: 2
De acuerdo Respuesta: thumbnails 200x200 respetando la imagen

Este codigo uso modificalo a tu gusto
Código PHP:
     function _jmcrearthumbtestimonial($file){//File es el nombre de la imagen 
        
$carpeta=nombre de la carpeta donde guardaras;
        
//Obtenemos el nombre de nuestra imagen
        
$name=$file;
        
$file='../album/'.$carpeta.'/'.$file;//La direccion donde buscara la imagen para hacer el thumb
        //La dimension de nuestra imagen es de 120*120
        
$thumbD=120;
        
//Verificamos si existe la carpeta donde guardaremos nuestras imagenes dimensionadas si no existe la creamos
        
if(!file_exists('../album/'.$carpeta.'/thumb')){
            
mkdir('../album/'.$carpeta.'/thumb'0777);
            }
        
$savePath='../album/'.$carpeta.'/thumb/'//DONDE GUARDARA EL THUMB
        //Obtenemos la informacion de la imagen, el array info tendra los siguientes indices:
        // 0: ancho de la imagen
         // 1: alto de la imagen
        // mime: el mime_type de la imagen
        
$info getimagesize($file);
        
$image imagecreatefromjpeg($file);
        if(
$info[0] == $info[1]){
            
$xpos 0;
            
$ypos 0;
          }
        
//Si la imagen no es cuadrada, hay que hacer un par de averiguaciones:
        
else{
            if(
$info[0] > $info[1]){
              
//imagen horizontal
              
$xpos ceil(($info[0] - $info[1]) /2);
              
$ypos 0;
              
$width  $info[1];
              
$height $info[1];
            }else{
              
//imagen vertical
              
$ypos ceil(($info[1] - $info[0]) /2);
              
$xpos 0;
              
$width  $info[0];
              
$height $info[0];
            }
          }
        
//Creamos una nueva imagen cuadrada con las dimensiones que queremos:
        
$image_new imagecreatetruecolor($thumbD$thumbD);
        
$bgcolor imagecolorallocate($image_new255255255);
        
imagefilledrectangle($image_new00$thumbD$thumbD$bgcolor);
        
imagealphablending($image_newtrue);
         
        
//Copiamos la imagen original con las nuevas dimensiones
        
imagecopyresampled($image_new$image00$xpos$ypos$thumbD$thumbD$width$height);
         
        
//Guardamos la nueva imagen como jpg con una calidad del 85%
        
$exito=imagejpeg($image_new$savePath.$name90);
        return 
$exito;
        } 

Saludos