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$maxAlto = $_GET['alto'];
$maxAncho = $_GET['ancho'];
$id = $_GET['id'];
/* AQUÍ SELECCIONO LA FOTO A REDIMENSIONAR */
$sql = "SELECT * FROM productos WHERE id=".$id;
$ruta = "../".$fila->foto;
$rutaTmp = explode(".", $fila->ruta);
/*ESTA ES LA EXTENSIÓN DE LA FOTO */
$ext = $rutaTmp[count($rutaTmp)-1];
/*aquí empieza el código exclusivo de PNG */
//determina proporcion en unidades
$ancho = $imgAncho/$maxAncho;
$alto = $imgAlto/$maxAlto;
// calcula la escala
if($ancho>$alto) $scale = $maxAncho/$imgAncho;
if($ancho<$alto) $scale = $maxAlto/$imgAlto;
if($ancho==$alto) $scale = $maxAlto/$imgAlto;
$ancho = intval($imgAncho*$scale); $alto = intval($imgAlto*$scale);
Header("Content-type: image/png");
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.