PNG sin transparecina en PHP
He desarrollado un código el cual redimensiona las imágenes que subo en php.
El código es el siguiente:
function thumbnail($path,$width,$height){ $info_imagen = getimagesize($path); $imagen_ancho = $info_imagen[0]; $imagen_alto = $info_imagen[1]; $imagen_tipo = $info_imagen['mime']; $lienzo = imagecreatetruecolor($width,$height); switch($imagen_tipo){ case "image/jpg"; case "image/jpeg"; $imagen = imagecreatefromjpeg($path); break; case "image/png"; $imagen = imagecreatefrompng($path); break; case "image/gif"; $imagen = imagecreatefromgif($path); break; } imagecopyresampled($lienzo,$imagen,0,0,0,0,$width,$height,$imagen_ancho,$imagen_alto); $final = imagejpeg($lienzo,$path,100); return $final;}
Hasta aqui todo bien.
Me redimensiona la imagen con su respectivo formato.
Pero, los png y los gif el fondo me lo pone de color negro...
¿Alguien sabe que falla en el código?
PD: Yo creo que es porque en la variable "$final" se ejecuta "imagejpeg", osea que siempre devuelve jpeg, pero no consigo hacer funcionar "imagepng" o "imagegif".
Respuesta de develoteca .com
1