Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2013, 04:47
Avatar de syntex
syntex
 
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Problemas con thumbnails proporcionados

Hola buenos días, Tengo un pequeño problema con un script que redimensiono al mismo tamaño las imagenes por ejemplo de 200x200 que da igual el tamaño que tenga la imagen original.

El problema que veo que me sale una ralla negra dentro del thumbnails.

Os paso el script a ver si alguien me puede ayudar.

Código PHP:
<?
# Variables para la class
# **********************************************************    
$ruta_original "imagenes/";
$ruta_thumnbails "imagenes/comp/";

$width_original    200;
$height_original    200;
$quality 90;
$background "255,255,255";

$name_original "4242006180812.jpg";
$name_thumnbails "4242006180812.jpg";

$file         $ruta_original.$name_original;
$savePath   $ruta_original.$ruta_thumnbails;
        
# Obtenemos la informacion de la imagen, el array info tendra los siguientes indices:
# [0] ancho de la imagen
# [1] alto de la imagen
# **********************************************************
$info getimagesize($file);
        
# Extensión del archivos
# **********************************************************
$extension explode(".",$name_original); 
$ext count($extension)-1

# COMPRIMIR JPG
# **********************************************************
if(strcasecmp($extension[$ext],"jpg") == || strcasecmp($extension[$ext],"jpeg") == 0
            
$image = @imagecreatefromjpeg($file);
            
elseif(
strcasecmp($extension[$ext],"png") == 0
           
$image = @imagecreatefrompng($file);
            
elseif(
strcasecmp($extension[$ext],"gif") == 0
               
$image = @imagecreatefromgif($file);


if(
$info[0] == $info[1])
        {
            
$xpos 0;
            
$ypos 0;
            
            
$width  $info[1];
            
$height $info[1];
            
        }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
              
$xpos 0;
              
$ypos ceil(($info[1] - $info[0]) /2);
              
$width  $info[0];
              
$height $info[0];
            }
        }

# Creamos una nueva imagen cuadrada con las dimensiones que queremos:
# **********************************************************
$image_new = @imagecreatetruecolor($width_original$height_original);

# bgcolor
# **********************************************************
$bgcolor imagecolorallocate($image_new$background);


# **********************************************************
imagecopyresampled($image_new$image00$xpos$ypos$width_original$height_original$width$height);        

# Relleno de color
# **********************************************************
imagefill($image_new00$bgcolor);
imagefill($image_new, ($width_original-1), 0$bgcolor);
imagefill($image_new0, ($width_original-1), $bgcolor);

# Guardamos la nueva imagen como jpg con una quality del 85%
# **********************************************************
        
if(strcasecmp($extension[$ext],"jpg") == || strcasecmp($extension[$ext],"jpeg") == 0
        {
               if (
$exito = @imagejpeg($image_new$ruta_thumnbails.$name_thumnbails$quality))
            {
                @
imagedestroy($image_new); 
                return 
true
            }
        }    
        elseif(
strcasecmp($extension[$ext],"png") == 0
        {
               if (
$exito = @imagepng($image_new$ruta_thumnbails.$name_thumnbails, ($quality/10)))
            {
                @
imagedestroy($image_new); 
                return 
true
            }
        }
        elseif(
strcasecmp($extension[$ext],"gif") == 0)
        {
               if (
$exito = @imagegif($image_new$ruta_thumnbails.$name_thumnbails$quality))
            {
                @
imagedestroy($image_new); 
                return 
true;
            }
        }
        elseif(
strcasecmp($extension[$ext],"bmp") == 0)
        {
            @
copy ($file$ruta_thumnbails.$name_thumnbails);
            return 
true
        }



?>
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------