Foros del Web » Programando para Internet » PHP »

Re-dimensionar imágenes en php de 1 bit sin perdida de calidad

Estas en el tema de Re-dimensionar imágenes en php de 1 bit sin perdida de calidad en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/09/2013, 09:33
 
Fecha de Ingreso: octubre-2006
Mensajes: 8
Antigüedad: 17 años, 6 meses
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_fuente0000,
                   
$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 ;)
  #2 (permalink)  
Antiguo 11/09/2013, 09:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Re-dimensionar imágenes en php de 1 bit sin perdida de calidad

Siempre habrá perdida de calidad cuando manipulas una imagen, sobre todo cuando alteras sus dimensiones.

Además es obvio que se va a pixelar, usa tu sentido común, los programas de retoque de imágenes usan algoritmos más complejos para evitar tanta pérdida.

Revisa los comentarios de la documentación de las funciones que estás utilizando en el sitio de PHP, seguro hay algún ejemplo que te puede ayudar, de otra forma no me imagino como podríamos ayudarte.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/09/2013, 12:40
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: Re-dimensionar imágenes en php de 1 bit sin perdida de calidad

Con ImageMagick:
Código BASH:
Ver original
  1. convert 13091105265588040.png -resize 200x200 nueva.png

Si lo tienes que hacer en PHP puedes usar exec o la extensión que tiene para PHP.
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España

Etiquetas: calidad, perdida
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 13:46.