Foros del Web » Programando para Internet » PHP »

Ayuda con codigo de Galeria de Imagenes

Estas en el tema de Ayuda con codigo de Galeria de Imagenes en el foro de PHP en Foros del Web. Hola, acabo de ver este codigo para una galerias de imagenes y funciona perfecto. Necesito ayuda con la creacion de thumbnails, ahora si las imagenes ...
  #1 (permalink)  
Antiguo 26/06/2007, 12:56
 
Fecha de Ingreso: marzo-2002
Mensajes: 338
Antigüedad: 22 años
Puntos: 0
Ayuda con codigo de Galeria de Imagenes

Hola, acabo de ver este codigo para una galerias de imagenes y funciona perfecto. Necesito ayuda con la creacion de thumbnails, ahora si las imagenes tienen distinto tamaño al crear los thumbnails no respeta el tamaño, osea que las reduce a escala, como puedo hacer para que corte las imaganes y las cree en el tamaño especificado?

Código PHP:
 $columns     5;
 
$thmb_width  150;
 
$thmb_height 200;

function 
resizeImage($originalImage,$toWidth,$toHeight){
    
    
// Get the original geometry and calculate scales
    
list($width$height) = getimagesize($originalImage);
    
$xscale=$width/$toWidth;
    
$yscale=$height/$toHeight;
    
    
// Recalculate new size with default ratio
    
if ($yscale>$xscale){
        
$new_width round($width * (1/$yscale));
        
$new_height round($height * (1/$yscale));
    }
    else {
        
$new_width round($width * (1/$xscale));
        
$new_height round($height * (1/$xscale));
    }
    
// Resize the original image
    
$imageResized imagecreatetruecolor($new_width$new_height);
    
$imageTmp     imagecreatefromjpeg ($originalImage);
    
imagecopyresampled($imageResized$imageTmp0000$new_width$new_height$width$height);

    return 
$imageResized;


function 
generateThumbnails(){
        global 
$thmb_width,$thmb_height;
        
        
// Open the actual directory
        
if ($handle opendir(".")) {
                
// Read all file from the actual directory
                
while ($file readdir($handle))  {
                        
// Check whether tha actual item is a valid file
                        
if (is_file($file)){
                                
// Check whether the actual image is a thumbnail
                              
if (strpos($file,'_th.jpg')){
                                      
$isThumb true;
                              } else {
                                      
$isThumb false;
                              }
                      
                              if (!
$isThumb) {
                                      
// Process the file string
                                      
$dirName  substr($file,0,strpos($file,basename($file)));
                                      if (
strlen($dirName) < 1$dirName '.';
                                      
$fileName basename($file);
                                      
$fileMain substr($fileName,0,strrpos($fileName,'.'));
                                      
$extName  substr($fileName,strrpos($fileName,'.'),
                                                                              
strlen($fileName)-strrpos($fileName,'.'));
                                          
                                      
// Check if the actual file is a jpeg image
                                      
if (($extName == '.jpg') || ($extName == '.jpeg')){
                                            
$thmbFile $dirName.'/'.$fileMain.'_th.jpg';
                                            
// If a thumbnail dosn't exists tahn create a new one
                                            
if (!file_exists($thmbFile)){
                                                    
imagejpeg(resizeImage($file,$thmb_width,$thmb_height),$thmbFile,80);
                                            }
                                        }
                              } 
                           }
                   }
        }
        
}

function 
getNormalImage($file){
        
$base substr($file,0,strrpos($file,'_th.jpg'));
        if (
file_exists($base.'.jpg')) return $base.'.jpg';
        elseif (
file_exists($base.'.jpeg')) return $base.'.jpeg';
        else return 
"";
}

function 
displayPhotos(){
        global 
$columns;
        
        
generateThumbnails();
        
$act 0;
        
// Open the actual directory
        
if ($handle opendir(".")) {
                
// Read all file from the actual directory
                
while ($file readdir($handle))  {
                        
// Check whether tha actual item is a valid file
                        
if (is_file($file)){
                                
// Check whether the actual image is a thumbnail
                              
if (strpos($file,'_th.jpg')){
                                        ++
$act;
                                        if (
$act $columns) {
                                                echo 
'</tr><tr><td class="photo"><a href="'.getNormalImage($file).'"><img src="'.$file.'" alt="'.$file.'"/></a></td>';        
                                                
$act 1;
                                        } else {
                                                echo 
'<td class="photo"><a href="'.getNormalImage($file).'"><img src="'.$file.'" alt="'.$file.'"/></a></td>';        
                                        }
                                      
                              }
                      }
                }
        }        

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.