Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/05/2011, 07:51
Avatar de JDEM
JDEM
 
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 16 años, 2 meses
Puntos: 8
Respuesta: Redimensionar una imagen con php, y no morir en el intento.

Saludos....

Justo iba a postear sobre esto por que estoy apunto de morir en el intento .

Mi problema no es para redireccionar mi problema es con imagenes .png debido al alfa cuando la redirecciono me coloca el fondo en negro para evitar esto eh realizado las siguientes pruebas:

FUNCION COMPLETA CON RESULTADO ESPERADOS PERO PROBLEMAS CON EL PNG

Código PHP:
function resizeImage($image,$tmax){
    list(
$imagewidth$imageheight$imageType) = getimagesize($image);
    
$scale $tmax/$imagewidth;
    
$imageType image_type_to_mime_type($imageType);
    
$newImageWidth ceil($imagewidth $scale);
    
$newImageHeight ceil($imageheight $scale);
    
$newImage imagecreatetruecolor($newImageWidth,$newImageHeight);
    switch(
$imageType) {
        case 
"image/gif":
                    
$source=imagecreatefromgif($image);
        break;
        case 
"image/pjpeg":
        case 
"image/jpeg":
        case 
"image/jpg":
                    
$source=imagecreatefromjpeg($image);
        break;
        case 
"image/png":
                    
$source=imagecreatefrompng($image);
                    
$negro imagecolorallocate($newImage000);
                    
imagecolortransparent($newImage$negro);
                    
imagefilledrectangle($newImage00$newImageWidth$newImageHeight0);
        break;
      }
    
imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$imagewidth,$imageheight);
    switch(
$imageType) {
            case 
"image/gif":
                
imagegif($newImage,$image);
            break;
            case 
"image/pjpeg":
            case 
"image/jpeg":
            case 
"image/jpg":
                
imagejpeg($newImage,$image,90);
            break;
            case 
"image/png":
            case 
"image/x-png":
                
imagepng($newImage$image);
            break;
        }
    
chmod($image0777);
    return 
$image;

Al hacer esto la img png conserva parte del alpha pero todavia conserva reciduos del negro , m gustaria saber si alguien le ah encontrado una solucion completa a esto que me pueda ayudar gracias...