Foros del Web » Programando para Internet » PHP »

Problemas redimensionando imágenes PNG para hacer miniaturas

Estas en el tema de Problemas redimensionando imágenes PNG para hacer miniaturas en el foro de PHP en Foros del Web. Hola amigos. Estoy haciendo unas miniaturas con PHP pero no me funciona con ninguna imagen PNG. El resultado es que la imagen "contiene errores" y ...
  #1 (permalink)  
Antiguo 10/03/2011, 03:52
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Exclamación Problemas redimensionando imágenes PNG para hacer miniaturas

Hola amigos.
Estoy haciendo unas miniaturas con PHP pero no me funciona con ninguna imagen PNG. El resultado es que la imagen "contiene errores" y no se muestra.

El código es igual para gif, jpg, jpeg y png. El de png es el siguiente:

Código PHP:
Ver original
  1. $maxAlto = $_GET['alto'];
  2. $maxAncho = $_GET['ancho'];
  3. $id = $_GET['id'];
  4.  
  5. /* AQUÍ SELECCIONO LA FOTO A REDIMENSIONAR */
  6.  
  7. $sql = "SELECT * FROM productos WHERE id=".$id;
  8. $rs = mysql_query($sql, $conexion) or die (mysql_error());
  9. $fila = mysql_fetch_object($rs);
  10.  
  11. $ruta = "../".$fila->foto;
  12.  
  13. $rutaTmp = explode(".", $fila->ruta);
  14.  
  15. /*ESTA ES LA EXTENSIÓN DE LA FOTO */
  16. $ext = $rutaTmp[count($rutaTmp)-1];
  17.  
  18. /*aquí empieza el código exclusivo de PNG */
  19.     $fuente = imagecreatefrompng($ruta);
  20.     $imgAncho = imagesx ($fuente);
  21.     $imgAlto =imagesy($fuente);
  22. //determina proporcion en unidades
  23. $ancho = $imgAncho/$maxAncho;
  24. $alto = $imgAlto/$maxAlto;
  25.  
  26. // calcula la escala
  27. if($ancho>$alto) $scale = $maxAncho/$imgAncho;
  28. if($ancho<$alto) $scale = $maxAlto/$imgAlto;
  29. if($ancho==$alto) $scale = $maxAlto/$imgAlto;
  30. $ancho = intval($imgAncho*$scale);
  31. $alto = intval($imgAlto*$scale);
  32.     $imagen = imagecreatetruecolor($ancho,$alto);
  33.  
  34.     imagecopyresampled($imagen,$fuente,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto);
  35.    
  36.     Header("Content-type: image/png");
  37.     imagePng($imagen);


Cabe destacar que lo mismo para jpg (cambiando las funciones imagePng por imageJpeg, y el resto igual) funciona perfectamente, pero el código superior nunca consigue hacerme una miniatura con una imagen PNG.

¿qué estoy haciendo mal?

Saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #2 (permalink)  
Antiguo 10/03/2011, 09:16
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Problemas redimensionando imágenes PNG para hacer miniaturas

En php parece exister una funcion imagepng(). Sin embargo, vos llamas a imagePng(), que no esta declarada.
  #3 (permalink)  
Antiguo 10/03/2011, 09:56
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problemas redimensionando imágenes PNG para hacer miniaturas

la llamo porque existe
http://php.net/manual/en/function.imagepng.php
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 10/03/2011, 09:58
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Problemas redimensionando imágenes PNG para hacer miniaturas

Si te fijas bien en lo que dice mayid veras una GRAN DIFERENCIA entre las P y la p
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 10/03/2011, 10:07
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problemas redimensionando imágenes PNG para hacer miniaturas

He visto la gran diferencia y no funciona.también hay una gran diferencia entre imageJpeg e imagejpeg y funcionan las dos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: miniaturas, png
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 23:52.