Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2013, 09:33
madeigner
 
Fecha de Ingreso: octubre-2006
Mensajes: 8
Antigüedad: 20 años
Puntos: 0
Re-dimensionar imágenes en php de 1 bit sin perdida de calidad

Hola a todos estoy utilizando la librería GD de php.

Os comento mi problema:
Al re-dimensionar una imagen para hacerla mas pequeña, pierde información como se puede ver en las imágenes listadas a continuación

original


redimensionada


El código mediante el cual la re-dimensiono es el siguiente:

Código PHP:
$recurso_fuente = imagecreatefrompng(fichero_origen.png);                    

//si el tamaño de la imagen supera los 200 de alto o de ancho redimensiono la imagen 

$info_fuente    = getimagesize(fichero_origen.png);
$size_max = 200;

if(
$info_fuente[0] > $size_max || $info_fuente[1] > $size_max)
{
    
$ancho_nuevo    = $size_max;
    
$alto_nuevo     =  round($info_fuente[1] * $size_max / $info_fuente[0]);        
    
$bRedimensionar = true;
}
else 
{
    
$ancho_nuevo    = round($info_fuente[0]);
    
$alto_nuevo     = round($info_fuente[1]);        
}

$tipo_mime      = $info_fuente['mime'];             
$recurso_copia  = imagecreate($ancho_nuevo, $alto_nuevo);
 
imagecopyresampled($recurso_copia, $recurso_fuente, 0, 0, 0, 0,
                   
$ancho_nuevo, $alto_nuevo, 
                   
$info_fuente[0], $info_fuente[1]);              

imagepng ($recurso_copia,  'tmp/fichero_redimensionado.png', 0); 
Que puedo hacer para no tener la perdida de calidad de la imagen, tampoco quiero que la imagen se pixele al disminuir su tamaño.
Espero vuestra ayuda, gracias de antemano ;)